ホームページ > バックエンド開発 > Python チュートリアル > NumPy の「logical_or」を使用して複数配列のユニオン演算を効率的に実行するにはどうすればよいですか?

NumPy の「logical_or」を使用して複数配列のユニオン演算を効率的に実行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-07 15:15:14
オリジナル
315 人が閲覧しました

How to Efficiently Perform Multi-Array Union Operations with NumPy's `logical_or`?

複数配列ユニオン演算のための 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 サイトの他の関連記事を参照してください。

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