3
我想分配給(一片)掩蓋的numpy數組,但不修改掩碼。 (分配通常會清除掩碼(除非它是「硬」),這看起來完全與掩蓋點相反,但這就是我們需要處理的。)我還希望這個例程能夠用於普通的未掩碼數組。分配給蒙面的numpy數組而不刪除蒙版?
有沒有更好的方式來做到這一點比保存和恢復面具?
a = np.ma.array([0, 1, 2], mask=[0, 1, 0])
mask = a.mask.copy() if np.ma.is_masked(a) else None # Have to copy because it might be shared
a[a < 2] = -1
if mask is not None:
a.mask = mask
print(a, a.data)
# [-1 -- 2] [-1 -1 2]
這是Python 2,numpy 1.11.1。