Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man eindeutige Werte in einem NumPy-Array effizient zählen?

Wie kann man eindeutige Werte in einem NumPy-Array effizient zählen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 12:31:02543Durchsuche

How to Efficiently Count Unique Values in a NumPy Array?

Effiziente Bestimmung der Häufigkeitsanzahl eindeutiger Werte in NumPy-Arrays

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn