number of element in array/matrix
Tommy Grav
tgrav at mac.com
Fri Jan 11 22:35:55 CET 2008
On Jan 11, 2008, at 11:09 AM, m.s.mould at durham.ac.uk wrote:
>
> Hi,
> I have what I suspect to be a fairly simple problem while using
> python Numeric.
> I am attempting to count the number of times that an element 'b'
> occurs in
> numeric array 'a'. I tried unsuccessfully to find a more efficient
> function to
> do this for me such as that offered when using a list, but couldn't
> seem to find
> anything for Numeric arrays. However, I suspect that my loop is not
> the most
> efficient way to achieve this.
>
> def countel(a, b): #counts the number of times value 'b' is found
> in array 'a'
> i=0
> count=0
> while (i<len(a)):
> j=0
> while (j<len(a[0])):
> if (a[i][j]==b):
> count=count+1
> else:
> pass
> j=j+1
> i=i+1
> return count
>
> Any help or advice would be greatly appreciated,
> Matt
something like this?
>>> import numpy as n
>>> a = n.matrix([[1,2,3,4,1],[2,3,4,1,2],[3,4,1,2,3]],"float")
>>> a
matrix([[ 1., 2., 3., 4., 1.],
[ 2., 3., 4., 1., 2.],
[ 3., 4., 1., 2., 3.]])
>>> k = n.where(a==1,1,0)
>>> k
matrix([[1, 0, 0, 0, 1],
[0, 0, 0, 1, 0],
[0, 0, 1, 0, 0]])
>>> k.sum()
4
>>>
Cheers
Tommy
More information about the Python-list
mailing list