NumPy 配列のしきい値を超える要素を効率的に置き換える方法は?

Linda Hamilton
リリース: 2024-10-25 18:20:03
オリジナル
239 人が閲覧しました

How to Efficiently Replace Elements Exceeding a Threshold in NumPy Arrays?

NumPy 配列のしきい値を超える要素の置換

画像処理やデータ操作の領域では、特定の要素を変更する必要がよくあります。多次元配列内で。このような操作の 1 つは、事前定義されたしきい値を超えるすべての値を新しい値に置き換えることです。次の質問はこの要件に対応しています:

「2D NumPy 配列があります。その中のしきい値 T = 255 より大きいすべての値を値 x = 255 に置き換えるにはどうすればよいですか?」

この問題に対する簡単な解決策には、配列要素を反復処理し、それぞれをしきい値と比較し、しきい値を超えた要素を更新することが含まれます。このメソッドは機能しますが、ネストされたループのため、大きな配列の場合は遅くなる可能性があります。

より効率的なアプローチは、NumPy の Fancy インデックス作成によって提供されます。このメソッドは、ブール条件に基づいて要素を変更する簡潔な方法を提供します。 Fancy インデックスを利用することで、次のように 255 を超える要素を 255 に置き換えることができます:

<code class="python">arr[arr > 255] = x</code>
ログイン後にコピー

この操作は、配列要素と 255 の間で要素ごとの比較を実行します。結果のブール配列は、選択および選択に使用されます。配列内の対応する要素を更新します。代入演算子は、選択された要素を指定された値に置き換えます。

ベンチマークは、Fancy インデックス作成が従来の for ループ手法よりも優れていることを示しています。ランダムな 500x500 行列で、Fancy インデックスを使用して 0.5 より大きい値を 5 に置き換えるには、ループごとに約 7.59 ミリ秒かかります。この素早いパフォーマンスにより、このような操作に最適です。

以上がNumPy 配列のしきい値を超える要素を効率的に置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!