【发布时间】:2013-04-26 14:03:45
【问题描述】:
有一个一维数组:
arr0 = numpy.array([8,0,9,5])
还有一个二维数组,其形状为(len(arr0),3):
arr1 = numpy.array([9,5,6],
[2,7,4],
[6,7,8],
[1,8,3])
我想创建一个 arr1 的屏蔽数组,如果 arr0[i] == 0 则 arr1[i] 被屏蔽:
Result arr2 = [[9,5,6],
[-,-,-],
[6,7,8],
[1,8,3]]
创建这个新的掩码数组的优雅方法是什么?
我知道我可以使用形状为 (len(arr0),3) 的蒙版创建它。我希望我可以使用形状为 (len(arr0)) 的蒙版来创建它。
【问题讨论】:
-
为什么只制作像
(arr0 * np.ones((arr1.shape[1], 1))).T这样的面具会有问题 -
@askewchan 这与那个问题不同。它没有一维数组,其值用于从二维数组中提取掩码数组。