Maison  >  Article  >  développement back-end  >  ## Comment calculer efficacement les décomptes de fréquence pour des valeurs distinctes dans les tableaux NumPy ?

## Comment calculer efficacement les décomptes de fréquence pour des valeurs distinctes dans les tableaux NumPy ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 10:55:30237parcourir

## How to Efficiently Calculate Frequency Counts for Distinct Values in NumPy Arrays?

Calcul des fréquences pour des valeurs distinctes dans des tableaux NumPy

Trouver la fréquence d'occurrence de valeurs individuelles dans un tableau NumPy est une tâche courante dans l'analyse des données. Cet article décrit une approche efficace pour obtenir ces décomptes de fréquence.

Méthode :

La principale méthode pour obtenir des décomptes de fréquence dans NumPy consiste à utiliser la fonction np.unique, en particulier en définissant return_counts=True. Par exemple, considérons le tableau suivant :

<code class="python">x = np.array([1,1,1,2,2,2,5,25,1,1])</code>

Pour calculer la fréquence de ces éléments :

<code class="python">import numpy as np

unique, counts = np.unique(x, return_counts=True)

print(np.asarray((unique, counts)).T)</code>

Cela affichera :

[[ 1  5]
 [ 2  3]
 [ 5  1]
 [25  1]]

Comme vous peut voir, le tableau résultant contient les valeurs uniques (dans la première colonne) et leurs fréquences respectives (dans la deuxième colonne).

Comparaison et performances :

Le La méthode np.unique avec return_counts=True offre des performances améliorées par rapport à d'autres approches, telles que scipy.stats.itemfreq. Pour les grands tableaux, le temps nécessaire à np.unique est considérablement réduit, comme le démontre la comparaison de référence suivante :

<code class="python">x = np.random.random_integers(0,100,1e6)

%timeit unique, counts = np.unique(x, return_counts=True) # 31.5 ms per loop

%timeit scipy.stats.itemfreq(x) # 170 ms per loop</code>

Conclusion :

Le np.unique La fonction NumPy fournit une solution efficace pour obtenir le nombre de fréquences de valeurs uniques dans un tableau. Son avantage en termes de performances par rapport aux méthodes alternatives en fait un choix privilégié pour les grands ensembles de données.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn