Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man Multi-Array-Vereinigungsoperationen mit NumPys „logical_or' effizient durchführen?

Wie kann man Multi-Array-Vereinigungsoperationen mit NumPys „logical_or' effizient durchführen?

Barbara Streisand
Freigeben: 2024-12-07 15:15:14
Original
315 Leute haben es durchsucht

How to Efficiently Perform Multi-Array Union Operations with NumPy's `logical_or`?

Numpy logical_or für Multi-Array-Vereinigungsoperationen

Numpys logical_or-Funktion arbeitet mit Paaren von Arrays, was zu der Frage führt, wie effizient kombiniert werden kann mehrere Arrays für Vereinigungsoperationen (ebenso für logical_and und Schnittmengen).

While logical_or selbst akzeptiert nur zwei Argumente, es kann miteinander 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)
# result: [ True,  True,  True,  False]
Nach dem Login kopieren

Ein allgemeinerer Ansatz beinhaltet die Verwendung von Reduce:

result = np.logical_or.reduce((x, y, z))
# result: [ True,  True,  True,  False]
Nach dem Login kopieren

Diese Methode kann auf beide mehrdimensionalen Arrays angewendet werden und Tupel von 1D-Arrays. Darüber hinaus kann functools.reduce von Python auf ähnliche Weise verwendet werden:

result = functools.reduce(np.logical_or, (x, y, z))
# result: [ True,  True,  True,  False]
Nach dem Login kopieren

Der Einfachheit halber stellt Numpy „any“ bereit, das im Wesentlichen eine logische ODER-Reduktion entlang einer Achse durchführt:

result = np.any((x, y, z), axis=0)
# result: [ True,  True,  True,  False]
Nach dem Login kopieren

Ähnlich Die Prinzipien gelten für logical_and und andere logische Operatoren, mit Ausnahme von logical_xor, dem eine entsprechende All/Any-Type-Funktion fehlt.

Das obige ist der detaillierte Inhalt vonWie kann man Multi-Array-Vereinigungsoperationen mit NumPys „logical_or' effizient 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