Heim > Backend-Entwicklung > Python-Tutorial > **Wie kann ich die Häufigkeit eindeutiger Werte in einem NumPy-Array effizient zählen?**

**Wie kann ich die Häufigkeit eindeutiger Werte in einem NumPy-Array effizient zählen?**

Patricia Arquette
Freigeben: 2024-10-25 19:22:02
Original
926 Leute haben es durchsucht

**How can I efficiently count the frequency of unique values in a NumPy array?**

Eindeutige Werte in NumPy-Arrays zählen

Eine häufige Aufgabe bei der Datenanalyse besteht darin, die Häufigkeit des Auftretens jedes einzelnen Werts in einem bestimmten Datensatz zu bestimmen. NumPy bietet mehrere effiziente Möglichkeiten, dies für Arrays numerischer Daten zu erreichen.

Ein Ansatz besteht darin, die Funktion np.unique zu verwenden, wobei der Parameter return_counts auf True gesetzt ist (verfügbar in NumPy Version 1.9 und höher). Dieser Parameter gibt nicht nur die eindeutigen Werte zurück, sondern auch die entsprechenden Anzahlen.

<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)
'''
Output:
 [[ 1  5]
  [ 2  3]
  [ 5  1]
  [25  1]]
'''</code>
Nach dem Login kopieren

Diese Methode übertrifft scipy.stats.itemfreq in puncto Effizienz, wie der folgende Zeitvergleich zeigt:

<code class="python">import numpy as np
import scipy.stats

x = np.random.random_integers(0,100,1e6)

%timeit unique, counts = np.unique(x, return_counts=True)
10 loops, best of 3: 31.5 ms per loop

%timeit scipy.stats.itemfreq(x)
10 loops, best of 3: 170 ms per loop</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt von**Wie kann ich die Häufigkeit eindeutiger Werte in einem NumPy-Array effizient zählen?**. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage