[解決済み] 条件を満たした場合にNumpyの要素を置き換える
2022-05-15 16:28:40
質問
私は大きなnumpy配列を持っており、条件が満たされた場合に各要素が1または0のいずれかに変更されるように操作する必要があります(後でピクセルマスクとして使用されます)。配列には約800万個の要素があり、私の現在の方法は、縮小パイプラインにあまりにも時間がかかります。
for (y,x), value in numpy.ndenumerate(mask_data):
if mask_data[y,x]<3: #Good Pixel
mask_data[y,x]=1
elif mask_data[y,x]>3: #Bad Pixel
mask_data[y,x]=0
これを高速化するnumpyの関数はないのでしょうか?
どのように解決するのですか?
>>> import numpy as np
>>> a = np.random.randint(0, 5, size=(5, 4))
>>> a
array([[4, 2, 1, 1],
[3, 0, 1, 2],
[2, 0, 1, 1],
[4, 0, 2, 3],
[0, 0, 0, 2]])
>>> b = a < 3
>>> b
array([[False, True, True, True],
[False, True, True, True],
[ True, True, True, True],
[False, True, True, False],
[ True, True, True, True]], dtype=bool)
>>>
>>> c = b.astype(int)
>>> c
array([[0, 1, 1, 1],
[0, 1, 1, 1],
[1, 1, 1, 1],
[0, 1, 1, 0],
[1, 1, 1, 1]])
で短くすることができます。
>>> c = (a < 3).astype(int)
関連
-
[解決済み] NumPyの配列を切り詰めずに、完全に表示するにはどうしたらよいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] Javascriptで配列から空の要素を削除する
-
[解決済み] NumPy の配列を csv ファイルにダンプする
-
[解決済み] NumPy多次元配列のi番目の列にアクセスする方法は?
-
[解決済み】JavaScriptで配列の要素を削除する - delete vs splice
-
[解決済み] 配列内の何かの最初のインデックスを返すNumPy関数はありますか?
-
[解決済み] pyvenv-3.4 は 0 ではない終了ステータス 1 を返しました。
-
[解決済み] re.sub置換パターンにおけるキャプチャグループの後方参照への対応
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テンプレートファイル変更時にFlaskアプリを再読み込みする
-
[解決済み] Celeryでタスクのステータスを確認するには?
-
[解決済み] ヒストグラム Matplotlib
-
[解決済み] PythonでSelenium WebDriverを使用してテキストを取得する方法
-
[解決済み] 2つの弦をインターリーブさせる最もピトニックな方法
-
[解決済み] Python で、クラスオブジェクトを dict にキャストするにはどうしたらいいですか?
-
[解決済み] 集合からランダムな選択? python
-
[解決済み] re.sub置換パターンにおけるキャプチャグループの後方参照への対応
-
[解決済み] Seleniumから要素の属性を取得するには?
-
[解決済み] SQLAlchemy が db に送る SQL コマンドのデバッグ(表示)