[解決済み】Python NumPyの配列のうち、ある値より大きい要素をすべて置き換える。
2022-04-04 01:35:01
質問
私は2DのNumPy配列を持っており、その中の閾値T以上の値をすべて255.0に置き換えたいと考えています。私の知る限り、最も基本的な方法は、次のようになります。
shape = arr.shape
result = np.zeros(shape)
for x in range(0, shape[0]):
for y in range(0, shape[1]):
if arr[x, y] >= T:
result[x, y] = 255
-
これを行うための最も簡潔でパイソン的な方法は何ですか?
-
より高速な(おそらくより簡潔で、かつ/またはよりPythonicでない)方法はありますか?
これは、人間の頭のMRIスキャン用のウィンドウ/レベル調整サブルーチンの一部になる。2次元のnumpy配列は、画像のピクセルデータです。
どのように解決するの?
これを行うには、NumPy の組み込みの Fancy indexing を使うのが最も速く、かつ最も簡潔な方法だと思います。もし、あなたが
ndarray
という名前の
arr
であれば、すべての要素を置き換えることができます。
>255
という値で
x
を以下のように設定します。
arr[arr > 255] = x
私のマシンでは、500×500のランダム行列で、すべての値 >0.5 を 5 に置き換えて実行したところ、平均7.59msかかりました。
In [1]: import numpy as np
In [2]: A = np.random.rand(500, 500)
In [3]: timeit A[A > 0.5] = 5
100 loops, best of 3: 7.59 ms per loop
関連
-
python string splicing.join()とsplitting.split()の説明
-
Python百行で韓服サークルの画像クロールを実現する
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] Javascriptの配列に、指定された値に等しい属性を持つオブジェクトが含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] 通常のPythonのリストと比較した場合、NumPyの利点は何ですか?
-
[解決済み] numpy配列の中で最も近い値を検索する
-
[解決済み] NumPyの配列をPythonのリスト構造に変換する?
-
[解決済み】numpyの配列から特定の要素を削除する方法
-
[解決済み] Numpy 既存の値より大きい値の最初の出現回数
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
Pythonによるjieba分割ライブラリ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] データ型が理解できない
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】Python: OverflowError: 数学の範囲エラー