Python 选择多维numpy数组的部分
我四处搜索过,但似乎找不到任何有效的方法来根据索引选择3d阵列的一部分。例如,我有一个尺寸为200 x 200 x 200的3d数组,我想选择并更改所有索引大于100的所有元素的值Python 选择多维numpy数组的部分,python,numpy,Python,Numpy,我四处搜索过,但似乎找不到任何有效的方法来根据索引选择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,m
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或类似的方法来实现这一点,但我就是无法理解它。任何帮助都将不胜感激
我想选择并更改所有索引大于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
应采取以下措施:
mask[101:,101:,101:] = 0
我想选择并更改所有索引大于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
应采取以下措施:
mask[101:,101:,101:] = 0
严格地说,这将改变所有指数大于或等于100的值。严格地说,这将改变所有指数大于或等于100的值。