ホームページ > バックエンド開発 > Python チュートリアル > 3 つ以上の配列に対して Numpy の論理和を実行するにはどうすればよいですか?

3 つ以上の配列に対して Numpy の論理和を実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 19:10:11
オリジナル
432 人が閲覧しました

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

3 つ以上の引数に対する Numpy のlogical_or

Numpy のlogical_or 関数は、通常、2 つの配列のみで動作します。ただし、3 つ以上の配列の和集合を計算する必要がある場合は、いくつかのアプローチを検討できます。

論理演算子の連鎖

1 つの方法では、次のように複数のlogical_or 呼び出しを連鎖させます。

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]
ログイン後にコピー

NumPyreduce 関数

別のアプローチは、reduce 関数を使用することです。 function:

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]
ログイン後にコピー

このメソッドは連鎖アプローチを一般化し、多次元配列でも使用できます。

その他のアプローチ

前述のメソッド以外にも、次のことができます。

  • Python のreduce も考慮してください。 function:
import functools

result = functools.reduce(np.logical_or, (x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]
ログイン後にコピー
  • 軸指定のある NumPy の任意の関数:
result = np.any((x, y, z), axis=0)  # Union of arrays
print(result)  # Output: [ True  True  True False]
ログイン後にコピー

Logical_xor に関するメモ

論理排他などの演算用または (logical_xor)、NumPy は all/any 型を提供しません関数。

以上が3 つ以上の配列に対して Numpy の論理和を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート