Python Language Comptage des occurrences dans le tableau numpy


Exemple

Pour compter les occurrences d'une valeur dans un tableau numpy. Cela fonctionnera:

>>> import numpy as np
>>> a=np.array([0,3,4,3,5,4,7])
>>> print np.sum(a==3)
2

La logique est que l'instruction booléenne produit un tableau où toutes les occurrences des valeurs demandées sont 1 et toutes les autres sont zéro. Donc, en les additionnant, vous obtenez le nombre d'occurrences. Cela fonctionne pour les tableaux de toute forme ou dtype.

Il existe deux méthodes pour compter les occurrences de toutes les valeurs uniques dans numpy. Unique et montant. Unique aplatit automatiquement les tableaux multidimensionnels, tandis que bincount ne fonctionne qu'avec les tableaux 1d contenant uniquement des entiers positifs.

>>> unique,counts=np.unique(a,return_counts=True)
>>> print unique,counts # counts[i] is equal to occurrences of unique[i] in a
[0 3 4 5 7] [1 2 2 1 1]
>>> bin_count=np.bincount(a)
>>> print bin_count # bin_count[i] is equal to occurrences of i in a
[1 0 0 2 2 1 0 1] 

Si vos données sont des tableaux numpy, il est généralement beaucoup plus rapide d'utiliser les méthodes numpy que de convertir vos données en méthodes génériques.