Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich logische ODER/AND-Operationen für mehrere NumPy-Arrays durchführen?

Wie kann ich logische ODER/AND-Operationen für mehrere NumPy-Arrays durchführen?

DDD
Freigeben: 2024-11-27 17:52:11
Original
656 Leute haben es durchsucht

How Can I Perform Logical OR/AND Operations on Multiple NumPy Arrays?

Logische Operationen von Numpy auf mehrere Arrays anwenden

In Numpy kann logical_or nur zwei Arrays vergleichen. Dies wirft die Frage auf: Wie findet man die Vereinigung von mehr als zwei Arrays? Die gleiche Frage gilt für logical_and und das Ermitteln der Schnittmenge mehrerer Arrays.

Einschränkungen der logischen Funktionen von Numpy

Numpy beschränkt logical_or explizit auf zwei Argumente: x1 und x2.

Logische Verkettung Operationen

Mehrere Aufrufe von logical_or können verkettet werden:

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)
Nach dem Login kopieren

Ergebnis: [ True, True, True, False]

Verallgemeinerung der Verkettung mit Numpy's Reduce

Um diese Verkettung zu verallgemeinern, stellt NumPy das Reduce bereit Funktion:

result = np.logical_or.reduce((x, y, z))
Nach dem Login kopieren

Ergebnis: [ True, True, True, False]

Dieser Ansatz funktioniert auch mit mehrdimensionalen Arrays:

xyz = np.array((x, y, z))
result = np.logical_or.reduce(xyz)
Nach dem Login kopieren

Ergebnis: [ Richtig, wahr, wahr, falsch]

Pythons Reduzieren

Pythons functools.reduce kann auch verwendet werden:

import functools
result = functools.reduce(np.logical_or, (x, y, z))
Nach dem Login kopieren

Ergebnis: [ True, True, True, False]

Numpy's Any Funktion

Numpys beliebige Funktion kann ebenfalls verwendet werden, erfordert jedoch eine explizite Achsenargument:

result = np.any((x, y, z), axis=0)
Nach dem Login kopieren

Ergebnis: [ True, True, True, False]

Logisches UND (logical_and) und andere Operationen

Ähnlich Methoden gelten für andere logische Operationen, einschließlich logical_and. Beispielsweise gibt es für logical_xor kein Äquivalent zu all oder any.

Das obige ist der detaillierte Inhalt vonWie kann ich logische ODER/AND-Operationen für mehrere 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage