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

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

Patricia Arquette
リリース: 2024-11-29 15:34:10
オリジナル
630 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

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