0

私は周りを検索しましたが、インデックスに応じて 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 などを使用してこれを行う効率的な方法が必要ですが、私はそれを理解することができません。どんな助けでも大歓迎です。

4

1 に答える 1

4

すべてのインデックスが100より大きいすべての要素の値を選択して変更したい

以下はそれを行う必要があります:

mask[101:,101:,101:] = 0
于 2013-01-19T20:21:22.653 に答える