Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zähle ich das Vorkommen von Elementen in NumPy-Arrays?

Wie zähle ich das Vorkommen von Elementen in NumPy-Arrays?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 21:50:30831Durchsuche

How to Count Occurrences of Elements in NumPy Arrays?

Vorkommen im NumPy-Array zählen

NumPy-Arrays werden häufig für numerische Berechnungen verwendet, und eine häufige Aufgabe besteht darin, das Vorkommen bestimmter Elemente zu zählen in ihnen. Im Gegensatz zu Listen und anderen Python-Datenstrukturen verfügen NumPy-Arrays jedoch nicht über eine integrierte Zählmethode.

Mit NumPys Unique

Die Funktion numpy.unique kann sein wird verwendet, um die eindeutigen Werte in einem Array und ihre jeweiligen Zählwerte zu bestimmen. Es benötigt einen optionalen Parameter return_counts, der, wenn er auf True gesetzt ist, sowohl die eindeutigen Werte als auch die entsprechenden Anzahlen zurückgibt. Zum Beispiel:

<code class="python">import numpy

# Create a NumPy array
y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

# Obtain unique values and their counts
unique, counts = numpy.unique(y, return_counts=True)

# Convert the results to a dictionary for ease of access
results = dict(zip(unique, counts))

print(results)  # Output: {0: 7, 1: 4}</code>

Nicht-NumPy-Methode: Verwendung von „collections.Counter“

Alternativ können Sie die Klasse „collections.Counter“ außerhalb von NumPy verwenden. Diese Klasse wurde speziell zum Zählen von Vorkommen in beliebigen iterierbaren Arrays, einschließlich NumPy-Arrays, entwickelt:

<code class="python">import collections

# Use the Counter class to tally the occurrences of each element
counter = collections.Counter(y)

# Print the Counter object to view the occurrences
print(counter)  # Output: Counter({0: 7, 1: 4})</code>

Das obige ist der detaillierte Inhalt vonWie zähle ich das Vorkommen von Elementen in NumPy-Arrays?. 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