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

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

Patricia Arquette
リリース: 2024-12-02 18:41:18
オリジナル
999 人が閲覧しました

How Can I Perform a Logical OR Operation on More Than Two NumPy Arrays?

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

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