Maison >développement back-end >Tutoriel Python >Comment puis-je compter efficacement la fréquence des valeurs uniques dans un tableau NumPy ?
Obtention des décomptes de fréquence pour les valeurs uniques dans un tableau NumPy
Pour déterminer efficacement la fréquence de chaque valeur unique dans un tableau NumPy, envisagez d'utiliser La fonction unique de NumPy en conjonction avec return_counts=True.
<code class="python">import numpy as np x = np.array([1,1,1,2,2,2,5,25,1,1]) unique, counts = np.unique(x, return_counts=True)</code>
Cette approche produit un tuple contenant deux tableaux : unique, qui contient les valeurs uniques présentes dans le tableau d'origine, et counts, qui indique les fréquences respectives de occurrence pour chaque valeur unique.
Par exemple, l'exécution du code ci-dessus avec le tableau d'entrée donné renvoie :
[(1, 5), (2, 3), (5, 1), (25, 1)]
indiquant que la valeur 1 apparaît 5 fois, 2 apparaît 3 fois, 5 apparaît une fois et 25 apparaît une fois.
L'utilisation de unique(return_counts=True) offre un avantage substantiel en termes de performances par rapport à la fonction scipy.stats.itemfreq de SciPy pour les grands ensembles de données, comme le démontre l'extrait de code ci-dessous :
<code class="python">In [4]: x = np.random.random_integers(0,100,1e6) In [5]: %timeit unique, counts = np.unique(x, return_counts=True) 10 loops, best of 3: 31.5 ms per loop In [6]: %timeit scipy.stats.itemfreq(x) 10 loops, best of 3: 170 ms per loop</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!