如何根据条件使numpy数组中的某些值为空?
我不明白为什么我最终得到的是0,而不是不满足条件的null或空值。。。b是用0和1值填充的numpy数组,c是另一个完全填充的numpy数组。所有阵列均为71x71x166a = np.empty(((71,71,166)))
d = np.empty(((71,71,166)))
for indexes, value in np.ndenumerate(b):
i,j,k = indexes
a[i,j,k] = np.where(b[i,j,k] == 1, c[i,j,k], d[i,j,k])
我想最终得到一个数组,它只有满足条件的值,其他地方都是空的,但不改变它的形状
需要澄清的全部问题:
我从一个浮点数组开始,它的形状是(71,71166)
我根据应用于float数组的截止值创建了一个int数组,基本上创建了许多bin,大致在数组中标记出10个区域,0的值介于
我想要得到的是一个形状为(71,71166)的数组,它的平均值在特定的数组方向(假设垂直方向,如果你认为一个3D数组是3D立方体)的某个“bin”…
所以我试图遍历“bins”b==1,b==2等,在满足条件的地方对浮点进行采样,但在其他地方为空,这样我就可以取平均值,然后在循环结束时重新组合成一个数组….
不知道我是不是在表达自己的意思。我使用的是np.where和索引,当我尝试在没有效率的情况下进行索引时,会不断地出现错误。