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 回答