frequency count or number of occurences of a number in an array
Bernard
bernard.chhun at gmail.com
Wed Mar 12 07:29:27 EDT 2008
Hey Larry,
that one is fairly easy:
>>> from array import array
>>> array('i', [1, 2, 3, 4, 5, 1, 2])
>>> def count(x, arr):
cpt = 0 # declare a counter variable
for el in arr: # for each element in the array
if el == x: # when it is equal to the 'x' value
cpt+=1 # increment the counter variable by one
return cpt # return the counter after the loop
>>> count(1,a)
2
I'm pretty sure there must be an easier way though :)
On 12 mar, 06:26, Larry <larry.cebu... at gmail.com> wrote:
> Dear all,
>
> I'm new to Python. I have a file (an image file actually) that I need
> to read pixel by pixel. It's an 8-bit integer type. I need to get the
> statistics like mean, standard deviation, etc., which I know a little
> bit already from reading numpy module. What I want to know is how to
> get the number of occurences of numeric element in an array. Say,
>
> b = array(([2, 2, 3, 4, 5, 5])
>
> b.count(2) certainly does not work. Is there any more efficient way
> other than converting this as string characters? My data will produce
> a fairly large array like 400x400 = 160000 values. Hoping you guys can
> help me.
>
> Larry
More information about the Python-list
mailing list