Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine logische ODER-Operation für mehr als zwei NumPy-Arrays durchführen?
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)
Ausgabe:
[ True True True False]
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)
Ausgabe:
[ True True True False]
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)
Ausgabe:
[ True True True False]
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)
Ausgabe:
[ True True True False]
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!