Exemples de comment trouver le nombre d'occurrence d'un élément donné dans une matrice avec numpy en python?
Créer une matrice aléatoire avec numpy
Créons une matrice aléatoire de taille (4,4) avec des entiers aléatoires entre 0 et 4:
import numpy as np
A = np.random.randint(0,5,(4,4))
donne par exemple:
[[3 0 2 2]
[1 3 4 2]
[0 0 3 1]
[2 3 3 1]]
Trouvez le nombre d'occurrences pour chaque élément
Pour trouver le nombre d'occurrences pour chaque élément une solution consiste à utiliser la fonction numpy unique:
unique, counts = np.unique(A, return_counts=True)
for i in range(len(unique)):
print(unique[i],counts[i])
donne
0 3
1 3
2 4
3 5
4 1
Il est alors possible de créer un dictionnaire
dict(zip(unique, counts))
donne
{0: 3, 1: 3, 2: 4, 3: 5, 4: 1}
Trouvez le nombre d'occurrences pour un élément donné en utilisant where
Une autre solution pour trouver le nombre d'occurrence de 3 en utilisant where:
np.where(A==3)[0].shape[0]
donne
5
Trouver le nombre d'occurrences pour un élément donné à l'aide du module collections
Un autre exemple de comment trouver le nombre d'occurrences d'un élément donné dans une matrice
import collections
collections.Counter(A.ravel())
donne
Counter({3: 5, 0: 3, 2: 4, 1: 3, 4: 1})