我有一个带有numpy的蒙版2d数组,看起来像这样:
?
我想要一个结果2darray,它的每一行的最小非掩码值为1.73 2.48 -- 9.80 --
4.98 2.01 -- 3.81 --
2.35 4.53 -- 2.45 --
6.54 8.43 -- 2.13 --
8.45 4.58 -- 2.49 --
,其余的为True
。所以:
False
我尝试做True False -- False --
False True -- False --
True False -- False --
False False -- True --
False False -- True --
,但是由于带掩码的数字,这似乎不起作用。
答案 0 :(得分:1)
这应该为您做到,我相信它对于非正方形阵列和具有不规则蒙版的阵列已经足够了。
data = [[i == j for j in range(a.shape[-1])] for i in a.argmin(axis=1)]
result = np.ma.masked_array(data=data, mask=a.mask)
如果您不需要result
上的遮罩,则可以直接使用data
。