Python 如何基于另一个numpy 2darray的argmin创建numpy boolean 2darray?

Python 如何基于另一个numpy 2darray的argmin创建numpy boolean 2darray?,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我有一个带numpy的屏蔽2d数组,看起来有点像这样: 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 F

我有一个带numpy的屏蔽2d数组,看起来有点像这样:

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

我试过做
a==a.min()
,但由于隐藏的数字,这似乎不起作用

这应该可以满足您的需要,我相信这对于非方形阵列和具有不规则遮罩的阵列来说已经足够普遍了

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)
如果不需要
结果
上的掩码,只需使用
数据