我正在尝试替换numpy
masked array
中的某些值,但我的掩码正在被删除:
import numpy as np
a = np.ma.array([1, 2, 3, -1, 5], mask=[0, 0, 0, 1, 0])
a[a < 2] = 999
结果是:
masked_array(data = [999 2 3 999 5],
mask = [False False False False False],
fill_value = 999999)
但我想要的是:
masked_array(data = [999 2 3 -- 5],
mask = [False False False True False],
fill_value = 999999)
我做错了什么? 我在Ubuntu 13.10上使用Python 2.7和numpy 1.7.1
答案 0 :(得分:4)
我认为你没有正确地进行替换,试试这个:
>>> import numpy as np
>>> a = np.ma.array([1, 2, 3, -1, 5], mask=[0, 0, 0, 1, 0])
>>> a.data[a < 2] = 999
>>> a
masked_array(data = [999 2 3 -- 5],
mask = [False False False True False],
fill_value = 999999)