„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann man eindeutige Werte in einem NumPy-Array effizient zählen?

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

Veröffentlicht am 11.11.2024
Durchsuche:702

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.

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
Neuestes Tutorial Mehr>

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