Heim >Backend-Entwicklung >Python-Tutorial >Wie führe ich NumPys logical_or für mehr als zwei Arrays durch?

Wie führe ich NumPys logical_or für mehr als zwei Arrays durch?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 15:34:10659Durchsuche

How to Perform NumPy's logical_or on More Than Two Arrays?

Numpy logical_or für mehr als zwei Argumente

Numpys logical_or-Funktion kann nur zwei Arrays gleichzeitig vergleichen. Um die Vereinigung von mehr als zwei Arrays zu finden, haben Sie mehrere Möglichkeiten.

Logical_or-Aufrufe verketten

Sie können mehrere Logical_or-Aufrufe miteinander verketten, dies kann jedoch umständlich werden. Zum Beispiel:

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

Reduzieren verwenden

NumPy bietet eine Reduzierungsfunktion, die Verkettungsvorgänge verallgemeinern kann. Zum Beispiel:

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

Dies gibt ein Array zurück, in dem jedes Element die Vereinigung der entsprechenden Elemente in den Eingabearrays ist.

Mit Pythons functools.reduce

Hierfür kann auch die Funktion functools.reduce von Python verwendet werden Zweck:

functools.reduce(np.logical_or, (x, y, z))

Die Reduzierung von NumPy ist jedoch im Allgemeinen effizienter.

Verwendung von np.any

Die np.any-Funktion von NumPy kann ebenfalls verwendet werden verwendet, um die Gewerkschaft zu finden. Es muss jedoch mit einem Achsenargument verwendet werden:

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

Dies gibt ein Array zurück, in dem jedes Element die Vereinigung der entsprechenden Elemente in den Eingabearrays entlang der angegebenen Achse ist.

Hinweis: Diese Techniken gelten auch für die Funktion „logical_and“ von Numpy zum Ermitteln der Schnittmenge von mehr als zwei Arrays.

Das obige ist der detaillierte Inhalt vonWie führe ich NumPys logical_or 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