Python Numpy掩码数组argmax不返回';蒙面';在完全屏蔽阵列上?

Python Numpy掩码数组argmax不返回';蒙面';在完全屏蔽阵列上?,python,numpy,Python,Numpy,我在numpy.ma中有一个屏蔽数组,所有值都被屏蔽: import numpy.ma as ma arr = ma.array([3,4,10], mask=[True, True, True]) 我希望此数组上的操作,例如ma.sum应该返回掩码: >>> ma.sum(arr) is ma.masked >>> True 这确实是真的 但是当我在同一数组上使用ma.argmax()时,结果不是ma.masked,而是0 >>> ma

我在numpy.ma中有一个屏蔽数组,所有值都被屏蔽:

import numpy.ma as ma
arr = ma.array([3,4,10], mask=[True, True, True])
我希望此数组上的操作,例如
ma.sum
应该返回
掩码

>>> ma.sum(arr) is ma.masked
>>> True
这确实是真的

但是当我在同一数组上使用
ma.argmax()
时,结果不是
ma.masked
,而是
0

>>> ma.argmax(arr) is ma.masked
>>> False
>>> ma.argmax(arr)
>>> 0
有什么想法吗?这是一个bug,还是预期的行为?理想情况下,这将返回
屏蔽的
。谁能想出一个好的解决办法,还是我太傻了。。。谢谢

>>> arr[ma.argmax(arr)]
masked
argmax
返回最大值的索引。您可以使用索引来获取值。该值被屏蔽


因为所有的值都被屏蔽,所以它们被认为是相等的(与
fill\u值
),并且
argmax
返回文档中记录的第一个索引。

np。argmax
返回一个标量,因此返回屏蔽数组没有意义

从(我的)重点:

返回给定轴上最大值的索引数组。 被屏蔽的值被视为具有值fill\u值