Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine logische ODER-Operation für mehr als zwei NumPy-Arrays durchführen?

Wie kann ich eine logische ODER-Operation für mehr als zwei NumPy-Arrays durchführen?

Patricia Arquette
Freigeben: 2024-12-02 18:41:18
Original
1059 Leute haben es durchsucht

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

Numpys logical_or-Funktion mit mehreren Argumenten

Numpys logical_or-Funktion ist so konzipiert, dass sie zwei Arrays vergleicht und je nach Wert ein Array mit True- oder False-Werten zurückgibt die Vergleichsergebnisse. Allerdings kann diese Funktion nur maximal zwei Argumente verarbeiten. Um die Vereinigung von mehr als zwei Arrays mit logical_or zu finden, haben wir mehrere Möglichkeiten:

Logical_or-Aufrufe verketten

Ein Ansatz besteht darin, mehrere logical_or-Aufrufe zu verketten. Zum Beispiel:

x = np.array([True, True, False, False])
y = np.array([True, False, True, False])
z = np.array([False, False, False, False])
result = np.logical_or(np.logical_or(x, y), z)

print(result)
Nach dem Login kopieren

Ausgabe:

[ True  True  True False]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode funktioniert, indem sie die Arrays nacheinander kombiniert und logical_or nacheinander für sie ausführt.

Verwenden reduzieren

Eine prägnantere Möglichkeit, mehrere logical_or-Aufrufe zu kombinieren, ist die Verwendung von NumPy Funktion reduzieren:

result = np.logical_or.reduce((x, y, z))

print(result)
Nach dem Login kopieren

Ausgabe:

[ True  True  True False]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

reduce wendet eine angegebene Operation (in diesem Fall logical_or) auf eine bestimmte Folge von Arrays an.

Pythons Reduce

Alternativ bietet Python auch eine Reduce-Funktion, die sein kann verwendet:

from functools import reduce

result = reduce(np.logical_or, (x, y, z))

print(result)
Nach dem Login kopieren

Ausgabe:

[ True  True  True False]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Pythons Reduzierung wird in solchen Fällen weniger häufig verwendet, da oft einfachere Alternativen verfügbar sind.

Verwenden any

Die Any-Funktion von NumPy kann auch verwendet werden, um die Vereinigung von mehreren zu finden Arrays, obwohl ein explizites Achsenargument erforderlich ist, um die Dimension anzugeben, entlang derer die Operation ausgeführt werden soll:

result = np.any((x, y, z), axis=0)

print(result)
Nach dem Login kopieren

Ausgabe:

[ True  True  True False]
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

any gibt ein Array mit True- oder False-Werten zurück. Gibt an, ob ein Element entlang der angegebenen Achse wahr ist.

In ähnlicher Weise funktionieren logical_and und andere logische Funktionen auf ähnliche Weise und ermöglichen Verkettungen, Reduzierungen und beliebige Operationen zum Kombinieren von mehr als zwei Argumenten.

Das obige ist der detaillierte Inhalt vonWie kann ich eine logische ODER-Operation für mehr als zwei NumPy-Arrays durchführen?. 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