# 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

```