「where」関数を使用して複数の条件を満たす Numpy 配列から要素を選択する方法
Numpy Where 関数と複数の条件
この質問は、Numpy Where 関数と複数の条件に基づく要素の選択に関するものです。
問題と問題の説明
ユーザーは、2 つの条件 (より大きいとより小さい) を適用して、配列 (dists) から特定の範囲内にある要素を選択したいと考えています。ただし、where 関数を (np.where(dists >= r)) および (np.where(dists <= r dr)) として使用すると、予期しない結果が生じます。
解決策
方法 1: 条件を 1 つの基準に結合する
この特定のケースでは、2 つの条件を 1 つの基準に結合することをお勧めします。
dists[abs(dists - r - dr/2.) <= dr/2.]
この単純なアプローチは、dist と範囲の中心の差の絶対値 (r dr/2) が範囲幅 (dr/2) の半分以下であるかどうかをチェックします。
方法 2: ファンシー インデックスを使用する
または、ファンシー インデックスを使用して、ブール マスクを使用して元の配列から要素を直接選択することもできます。
dists[(dists >= r) & (dists <= r + dr)]
この利点この方法では、要素ごとの論理演算子 (& および |) を使用して条件を結合し、基準を満たす要素を識別するバイナリ マスクが生成されます。
問題の説明
(np.where(dists >= r)) と (np.where(dists <= r dr)) を使用した元のアプローチは、np.where がブール配列ではなくインデックスのリストを返すため、失敗します。 2 つの数値リスト間の論理積演算では、論理比較ではなく 2 番目のリストが評価されます。
以上が「where」関数を使用して複数の条件を満たす Numpy 配列から要素を選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









