複数配列ユニオン演算のための Numpy のlogical_or
Numpy のlogical_or 関数は配列のペアで動作するため、効率的に結合する方法が問題になります。 Union 演算用の複数の配列 (logical_and および
logical_or 自体は 2 つの引数のみを受け取りますが、次のように連鎖させることができます。
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]
より一般的なアプローチには、reduce の使用が含まれます。
result = np.logical_or.reduce((x, y, z)) # result: [ True, True, True, False]
これこのメソッドは、多次元配列と 1D 配列のタプルの両方に適用できます。さらに、Python の functools.reduce も同様の方法で使用できます。
result = functools.reduce(np.logical_or, (x, y, z)) # result: [ True, True, True, False]
便宜上、Numpy は any を提供します。これは基本的に軸に沿って論理 OR リダクションを実行します。
result = np.any((x, y, z), axis=0) # result: [ True, True, True, False]
同様この原則は、対応する all/any 型が存在しないlogical_xor を除き、logical_and およびその他の論理演算子に適用されます。関数。
以上がNumPy の「logical_or」を使用して複数配列のユニオン演算を効率的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。