我创建了一个 numpy 掩码数组,其收缩选项设置为False
(应该产生一个全尺寸掩码),然后我检查掩码的大小:
import numpy as np
import numpy.ma as ma
x = ma.array(range(10),shrink=False)
print 'mask size = ', np.array(x.mask).size
这产生:mask size = 1
,即掩码仍然是默认(收缩)标量掩码。
这是一个已知的错误?
更新:
似乎该选项shrink=True
也无法正常工作:
x = ma.array(range(3), mask=True, shrink=True)
x.__setmask__(ma.nomask) # remove the mask (should shrink now)
x.mask.size # returns 3, so mask has not shrunk!
_ = x.shrink_mask() # enforce shrinking
x.mask.size # returns 1, so only now it's OK