ホームページ >バックエンド開発 >Python チュートリアル >3 つ以上の NumPy 配列に対して論理 OR 演算を実行するにはどうすればよいですか?
複数の引数を持つ Numpy のlogical_or 関数
Numpy のlogical_or 関数は、2 つの配列を比較し、条件に応じて True または False の値を持つ配列を返すように設計されています。比較結果。ただし、この関数は最大 2 つの引数しか処理できません。 logical_or を使用して 3 つ以上の配列の結合を見つけるには、いくつかのオプションがあります。
logical_or 呼び出しの連鎖
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) print(result)
出力:
[ True True True False]
このメソッドは、配列を順番に結合し、それらに対して 1 つずつ論理和を実行することで機能します。
使用reduce
複数のlogical_or呼び出しを組み合わせるより簡潔な方法は次のとおりです。 NumPy の Reduce 関数を使用するには:
result = np.logical_or.reduce((x, y, z)) print(result)
出力:
[ True True True False]
reduce は、指定された配列のシーケンスに対して指定された演算 (この場合は、logical_or) を適用します。
Python のreduce
あるいは、 Python には、使用できる Reduce 関数も用意されています。
from functools import reduce result = reduce(np.logical_or, (x, y, z)) print(result)
Output:
[ True True True False]
Python の Reduce は、より単純な代替手段が利用できることが多いため、このような場合にはあまり使用されません。
使用中any
NumPy の any 関数は、複数の配列の和集合を見つけるためにも使用できますが、演算を実行する次元を指定するには明示的な軸引数が必要です:
result = np.any((x, y, z), axis=0) print(result)
出力:
[ True True True False]
any は、指定された軸に沿った要素が存在するかどうかを示す True または False 値の配列を返します。 True。
同様に、logical_and およびその他の論理関数も同様の方法で動作し、チェーン、リデュース、および 2 つ以上の引数を組み合わせるためのあらゆる操作が可能です。
以上が3 つ以上の NumPy 配列に対して論理 OR 演算を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。