„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 zähle ich Vorkommen in einem ndarray in Python?

Wie zähle ich Vorkommen in einem ndarray in Python?

Veröffentlicht am 08.11.2024
Durchsuche:509

How to Count Occurrences in an ndarray in Python?

Vorkommen in einem ndarray zählen

In Numpy kann beim Versuch die Fehlermeldung „numpy.ndarray-Objekt hat keine Attributanzahl“ auftreten Verwenden Sie die Methode .count(), um das Vorkommen eines bestimmten Werts in einem Array zu zählen.

Numpy.unique verwenden

Eine Lösung hierfür ist die Verwendung von numpy.unique (). Diese Funktion identifiziert eindeutige Werte in einem Array und stellt deren entsprechende Anzahl bereit. Um beispielsweise die Anzahl der Nullen und Einsen im Array y unten zu zählen:

import numpy

y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1])

unique, counts = numpy.unique(y, return_counts=True)

Die Variablen „unique“ und „counts“ enthalten jetzt eindeutige Werte bzw. deren Anzahl.

Nicht-numpy-Methode

Eine alternative Methode, die kein Numpy erfordert, ist die Verwendung der Collections.Counter-Klasse. Diese Klasse erstellt ein Wörterbuch, das Elemente ihrer Anzahl zuordnet. Um beispielsweise das Vorkommen von Elementen in y mit Counter:

import collections, numpy

y = np.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4])

counter = collections.Counter(y)

Die Zählervariable liefert nun die Anzahl jedes einzelnen Elements in y.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729432037 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
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