444,089 Members | 2,260 Online
Need help? Post your question and get tips & solutions from a community of 444,089 IT Pros & Developers. It's quick & easy.

# frequency count or number of occurences of a number in an array

 P: n/a 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 Mar 12 '08 #1
5 Replies

 P: n/a On Mar 12, 10:26 am, Larry

 P: n/a Hey Larry, that one is fairly easy: >>from array import arrayarray('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

 P: n/a On Mar 12, 10:29 pm, Bernard from array import arrayarray('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 Hey Bernard, you have just laboriously reinvented the count method: >>from array import arraya = array('i', [1, 2, 3, 4, 5, 1, 2])a.count(1) 2 >>> which Larry has already said doesn't do the job -- the job is to create a histogram!! Mar 12 '08 #4

 P: n/a Thanks to all those who replied to this post. I'm gonna try your suggestions. They are a great help. Mar 13 '08 #5

 P: n/a d'oh! On 12 mar, 07:58, John Machin >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 thecounter variable by one * * * * return cpt # return the counter after the loop>>count(1,a) 2 Hey Bernard, you have just laboriously reinvented the count method: >from array import arraya = array('i', [1, 2, 3, 4, 5, 1, 2])a.count(1) 2 which Larry has already said doesn't do the job -- the job is to create a histogram!! Mar 13 '08 #6

### This discussion thread is closed

Replies have been disabled for this discussion.