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

Patricia Arquette
リリース: 2024-10-25 07:47:28
オリジナル
705 人が閲覧しました

How to Efficiently Replace High-Value Elements in NumPy Arrays?

NumPy 配列内の高値要素の効率的な置換

問題:

2 次元 NumPy 配列では、しきい値 (例: T = 255) より大きい値を特定の値 (例: x = 255) に置き換えたい。従来のアプローチには、時間のかかる for ループが含まれます。

解決策:

NumPy は、明示的なループの必要性を排除する簡潔で効率的なソリューションを提供します。 Fancy インデックスを活用すると、置換操作を簡単に実行できます。

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

この 1 行のコードは、条件 (> 255) を満たす配列内のすべての要素を指定された値 (x) に置き換えます。

パフォーマンス:

Fancy インデックス作成アプローチは、タイミング測定で実証されているように、for ループ手法よりも大幅に高速です。 500 x 500 のランダム行列の場合、Fancy インデックスを使用すると、0.5 より大きい値を 5 に置き換えるのに平均 7.59 ミリ秒かかります:

<code class="python">import numpy as np
A = np.random.rand(500, 500)
%timeit A[A > 0.5] = 5</code>
ログイン後にコピー

利点:

  • 簡潔さ: Fancy インデックス作成ソリューションは非常に簡潔で、必要なコードは 1 行だけです。
  • 効率: for ループ アプローチよりも大幅に高速です。
  • 明確さ: 構文は単純で理解しやすいです。

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

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