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。