[Numpy-discussion] Count the occurrence of a certain integer in a list of integers

Robert Cimrman cimrman3 at ntc.zcu.cz
Tue Aug 7 08:24:22 EDT 2007


Nils Wagner wrote:
> Hi all,
> 
> I have a list of integer numbers. The entries can vary between 0 and 19.
> How can I count the occurrence of any number. Consider
> 
>  >>> data
> [9, 6, 9, 6, 7, 9, 9, 10, 7, 9, 9, 6, 7, 9, 8, 8, 11, 9, 6, 7, 10, 9, 7, 9, 7, 8, 9, 8, 7, 9]
> 
> 
> Is there a better way than using, e.g.
> 
>>>> shape(where(array(data)==10))[1]
> 2
>  
> 
> to compute the occurrence of 10 in the list which is 2 in this case ?

Your way is ok if you want to count just a few numbers. If you want all,
you may sort the array and use searchorted:

b = sort( a )
count = searchsorted( b, 7, side = 'right' ) - searchsorted( b, 7, side
= 'left' )


r.



More information about the NumPy-Discussion mailing list