前提・実現したいこと
for ループを使用せずに、条件を満たす要素の置換を行いたい。
発生している問題・エラーメッセージ
数千、数万以上のループによって置換が必要となるため
高速にできる手法があれば知りたい。
3次元配列aについて、bの要素と一致するものを100に置換したい。
簡素化のため、下記ソースコードは小さくしてあります。
該当のソースコード
Python
1 a = np.array([[[0,1,2],[3,4,5]],[[6,7,8],[9,10,11]]]) 2 b = np.array([1,5,9]) 3 4 for i in range(len(b)): 5 x = b[i] 6 a = np.where(a == x, 100, a) 7 8 print(a) 9 10 11 12 13 14
試したこと
上記のようなコード作成したが、ループ数が多いと時間がかかりすぎる。
補足情報(FW/ツールのバージョンなど)
Python3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/09 03:50