Heim >Backend-Entwicklung >Python-Tutorial >Wie führe ich Numpys logisches ODER für mehr als zwei Arrays durch?

Wie führe ich Numpys logisches ODER für mehr als zwei Arrays durch?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 19:10:11405Durchsuche

How to Perform Numpy's Logical OR on More Than Two Arrays?

Numpy logical_or für mehr als zwei Argumente

Die logical_or-Funktion in Numpy arbeitet normalerweise nur mit zwei Arrays. Wenn Sie jedoch die Vereinigung von mehr als zwei Arrays berechnen müssen, können Sie mehrere Ansätze in Betracht ziehen.

Logische Operatoren verketten

Eine Methode beinhaltet die Verkettung mehrerer logical_or-Aufrufe wie folgt:

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)  # Union of arrays
print(result)  # Output: [ True  True  True False]

NumPy-Reduzierfunktion

Ein anderer Ansatz ist die Verwendung der Reduzierung Funktion:

import numpy as np

# Union using reduce
result = np.logical_or.reduce((x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]

Diese Methode verallgemeinert den Verkettungsansatz und kann auch mit mehrdimensionalen Arrays verwendet werden.

Andere Ansätze

Über die oben genannten Methoden hinaus können Sie dies tun Bedenken Sie auch:

  • Python's Reduce Funktion:
import functools

result = functools.reduce(np.logical_or, (x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]
  • NumPys beliebige Funktion mit Achsenangabe:
result = np.any((x, y, z), axis=0)  # Union of arrays
print(result)  # Output: [ True  True  True False]

Hinweis für Logical_xor

Für Operationen wie logisch exklusiv oder (logical_xor), NumPy bietet keine All/Any-Type-Funktion.

Das obige ist der detaillierte Inhalt vonWie führe ich Numpys logisches ODER für mehr als zwei Arrays durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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