3 つ以上の引数に対する Numpy のlogical_or
Numpy のlogical_or 関数は、一度に 2 つの配列のみを比較できます。 3 つ以上の配列の和集合を見つけるには、いくつかのオプションがあります。
logical_or 呼び出しの連鎖
複数のlogical_or 呼び出しを連鎖させることができますが、これは面倒になる可能性があります。例:
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)
reduce
NumPy を使用すると、連鎖操作を一般化できる Reduce 関数が提供されます。例:
np.logical_or.reduce((x, y, z))
これは、各要素が入力配列内の対応する要素の結合である配列を返します。
Python の functools.reduce を使用する
Python の functools.reduce 関数もこれに使用できます目的:
functools.reduce(np.logical_or, (x, y, z))
ただし、一般に NumPy のreduce の方が効率的です。
np.any を使用する
NumPy の np.any 関数を使用することもできます。結合を見つけるために使用されます。ただし、軸引数とともに使用する必要があります:
np.any((x, y, z), axis=0)
これは、各要素が、指定された軸に沿った入力配列内の対応する要素の和集合である配列を返します。
注: これらのテクニックは、3 つ以上の配列の共通部分を見つけるための Numpy のlogical_and 関数にも適用されます。
以上が3 つ以上の配列に対して NumPy の論理和を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。