"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment compter efficacement les valeurs uniques dans un tableau NumPy ?

Comment compter efficacement les valeurs uniques dans un tableau NumPy ?

Publié le 2024-11-11
Parcourir:144

How to Efficiently Count Unique Values in a NumPy Array?

Détermination efficace du nombre de fréquences de valeurs uniques dans des tableaux NumPy

Cet article explore une méthode efficace pour calculer le nombre de fréquences de valeurs uniques dans un tableau NumPy.

L'utilisation de numpy.unique avec return_counts=True (pour les versions NumPy 1.9 et supérieures) permet un calcul efficace des valeurs uniques et de leurs décomptes correspondants. Par exemple : 

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)

Cette approche surpasse considérablement la fonction scipy.stats.itemfreq en termes de vitesse d'exécution, comme le démontrent les tests de performances :

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
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3