Python 《努比》中有没有像《蒙面无敌》那样的蒙面无敌?

Python 《努比》中有没有像《蒙面无敌》那样的蒙面无敌?,python,numpy,mask,Python,Numpy,Mask,什么是等价物 masked_arr = np.ma.masked_max(arr, axis=(-1,-2)) 得到 [[[False True] [False False]]] # or an equivalent with -- and max value in place 从 我试过了 np.ma.max(arr, axis=(-1,-2)) 但它只返回一个类似np.max的值,而不是掩码。我该怎么做?就像numpy.ma.masked\u less一样,有一个numpy.m

什么是等价物

masked_arr = np.ma.masked_max(arr, axis=(-1,-2))
得到

[[[False  True]
  [False False]]]

# or an equivalent with -- and max value in place

我试过了

np.ma.max(arr, axis=(-1,-2))

但它只返回一个类似np.max的值,而不是掩码。我该怎么做?

就像
numpy.ma.masked\u less
一样,有一个
numpy.ma.masked\u less

但是你想要
numpy.ma.masked\u more\u equal

import numpy
x = numpy.array([
    [0.54881350, 0.71518937],
    [0.60276338, 0.54488318]
])

mask = numpy.ma.masked_greater_equal(x, x.max()).mask
print(mask)
我得到:

[[False  True]
 [False False]]

我认为你甚至不需要使用
np.ma
来实现这一点,你可以这样做

mask = np.isclose(x, x.max((-1, -2), keepdims = True))
记住使用
np.isclose
而不是
=
进行浮动。但是,

mask = x == x.max((-1, -2), keepdims = True)

如果您有整数或其他类型的
==
是安全的,则可以使用它。

ahhh,我知道您使用
keepdims
做了什么;真棒:)
mask = x == x.max((-1, -2), keepdims = True)