私は周りを検索しましたが、インデックスに応じて 3D 配列の一部を選択する効率的な方法を見つけることができないようです。たとえば、寸法が 200 x 200 x 200 の 3D 配列があり、すべてのインデックスが 100 より大きいすべての要素の値を選択して変更したいとします。
import numpy as np
mask = np.ones((200,200,200))
for x in np.arange(0,mask.shape[0]):
for y in np.arange(0,mask.shape[1]):
for z in np.arange(0,mask.shape[2]):
if x > 100 & y > 100 & z > 100:
mask[x,y,z] = 0
else:
mask[x,y,z] = 1
np.select などを使用してこれを行う効率的な方法が必要ですが、私はそれを理解することができません。どんな助けでも大歓迎です。