Python Numpy掩码数组argmax不返回';蒙面';在完全屏蔽阵列上?
我在numpy.ma中有一个屏蔽数组,所有值都被屏蔽: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
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值