Examples of how to find the number of occurrence of a given element in a matrix with numpy in python ?
Create a random matrix with numpy
Let's create a random matrix of size (4,4) with random integers between 0 and 4:
import numpy as npA = np.random.randint(0,5,(4,4))
returns for example
[[3 0 2 2][1 3 4 2][0 0 3 1][2 3 3 1]]
Find the number of occurrences for each item
To find the number of occurrences for each element one solution is to use the numpy function "unique":
unique, counts = np.unique(A, return_counts=True)for i in range(len(unique)):print(unique[i],counts[i])
returns
0 31 32 43 54 1
It is then possible to create a dictionary
dict(zip(unique, counts))
returns
{0: 3, 1: 3, 2: 4, 3: 5, 4: 1}
Find the number of occurrences for a given element using where
Another solution to find the occurrence number of 3 using where:
np.where(A==3)[0].shape[0]
returns
5
Find the number of occurrences for a given element using the collections module
Another example of how to find the number of occurrences of a given element in an array
import collectionscollections.Counter(A.ravel())
returns
Counter({3: 5, 0: 3, 2: 4, 1: 3, 4: 1})
