我正在使用屏蔽数组,我想计算不同数组/列的最大值。如果整个数组被屏蔽,我就会遇到问题。
Example:
import numpy as np
x = np.ma.array(np.array([1,2,3,4,100]),mask=[True,True,True, True, True])
y = 5
print(np.max(np.hstack((x, y))))
print np.max((np.max(y), np.max(x)))
print(np.max((np.hstack((np.max(x), 5)))))
Results:
100
nan
--
我发现结果很奇怪,因为结果应该是 5。为什么 hstack() 忽略了
掩码数组的掩码?
对于掩码数组,需要使用掩码例程,即numpy.ma.
应位于方法名称之前:
>>> np.ma.hstack((x, y))
masked_array(data = [-- -- -- -- -- 5],
mask = [ True True True True True False],
fill_value = 999999)
>>> np.ma.max(np.ma.hstack((x, y)))
5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)