縮小オプションを設定して 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