„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 bestimme ich die elementweise Gleichheit von NumPy-Arrays?

Wie bestimme ich die elementweise Gleichheit von NumPy-Arrays?

Veröffentlicht am 10.11.2024
Durchsuche:161

How Do I Determine Element-wise Equality of NumPy Arrays?

Bestimmen der elementweisen Gleichheit von NumPy-Arrays

Der Vergleich zweier NumPy-Arrays auf Äquivalenz ist ein grundlegender Vorgang, der häufig in der Datenanalyse und im wissenschaftlichen Rechnen anzutreffen ist . Während der grundlegende Ansatz die Verwendung des Gleichheitsoperators (==) beinhaltet, gibt er ein boolesches Array zurück und überlässt es dem Programmierer, nach allen True-Werten zu suchen. Dies kann mühsam und fehleranfällig sein.

Um dieses Problem zu beheben, bietet NumPy eine praktische Verknüpfung:

(A == B).all()

Dieser Ausdruck nutzt die all()-Methode, die „True“ zurückgibt, wenn alle Elemente des booleschen Arrays „True“ sind, und so die Arrays elementweise effektiv vergleicht.

Berücksichtigung von Sonderfällen und Alternativen

Es ist erwähnenswert, dass der (A == B).all()-Ansatz zu unerwartetem Verhalten führen kann, wenn entweder A oder B leer ist oder ein einzelnes Element enthält und das andere Array eine andere Form hat. In solchen Fällen wird empfohlen, spezielle Funktionen zu verwenden wie:

  • np.array_equal(A, B): Prüft auf gleiche Formen und Inhalte.
  • np.array_equiv(A, B ): Prüft auf sendefähige Formen und gleichen Inhalt.
  • np.allclose(A, B, ...): Bestimmt, ob Arrays ähnliche Formen und Elemente innerhalb einer angegebenen Toleranz haben.
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