In diesem Artikel wird eine effiziente Methode zur Berechnung der Häufigkeitsanzahl eindeutiger Werte innerhalb eines NumPy-Arrays untersucht.
Die 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 der entsprechenden Anzahlen. Zur Veranschaulichung:
<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)</code>
Dieser Ansatz übertrifft die Funktion scipy.stats.itemfreq deutlich hinsichtlich der Ausführungsgeschwindigkeit, wie in Leistungsbenchmarks gezeigt:
<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>
Das obige ist der detaillierte Inhalt vonWie kann man eindeutige Werte in einem NumPy-Array effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!