In diesem Artikel wird eine effiziente Methode zur Berechnung der Häufigkeitsanzahl eindeutiger Werte innerhalb eines NumPy-Arrays untersucht.
Verwendung von numpy.unique mit return_counts=True (für NumPy-Versionen 1.9 und höher) ermöglicht eine effiziente Berechnung sowohl eindeutiger Werte als auch ihrer entsprechenden Anzahlen. Zur Veranschaulichung:
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)
Dieser Ansatz übertrifft die Funktion scipy.stats.itemfreq hinsichtlich der Ausführungsgeschwindigkeit deutlich, wie in Leistungsbenchmarks gezeigt:
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
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3