Une tâche courante dans l'analyse des données consiste à déterminer la fréquence d'occurrence de chaque valeur unique dans un ensemble de données donné. NumPy propose plusieurs moyens efficaces d'y parvenir pour les tableaux de données numériques.
Une approche consiste à utiliser la fonction np.unique avec le paramètre return_counts défini sur True (disponible dans NumPy version 1.9 et versions ultérieures). Ce paramètre renvoie non seulement les valeurs uniques mais également leurs nombres correspondants.
<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) print(np.asarray((unique, counts)).T) ''' Output: [[ 1 5] [ 2 3] [ 5 1] [25 1]] '''</code>
Cette méthode surpasse scipy.stats.itemfreq en termes d'efficacité, comme le démontre la comparaison temporelle suivante :
<code class="python">import numpy as np import scipy.stats x = np.random.random_integers(0,100,1e6) %timeit unique, counts = np.unique(x, return_counts=True) 10 loops, best of 3: 31.5 ms per loop %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!