在修改掩碼數組中的數據時,我並不期待以下行爲。似乎有些值可以用[]操作數修改,但不是全部。但是,如果您訪問其數據屬性,那麼您可以修改全部。只有在元組中的單元格的掩碼中存在True值時纔會發生這種情況(與掩碼數組相關的所有操作似乎都可以正常工作)。無法修改掩碼數組中的數據。 arr [i] vs arr.data [i]
任何人都可以解釋爲什麼?
>>> import numpy as np
>>> import numpy.ma as ma
>>> arr = ma.ones(nrows, dtype=[('c1', np.int),('c2', np.int)])
>>> arr.mask[1][0] = True
>>> arr[1][1] = 3
>>> arr[0][0] = 4
>>> arr
masked_array(data = [(4, 1) (--, 1) (1, 1)],
mask = [(False, False) (True, False) (False, False)],
fill_value = (999999, 999999),
dtype = [('c1', '<i8'), ('c2', '<i8')])
>>> arr.data[1][1]=5
>>> arr
masked_array(data = [(4, 1) (--, 5) (1, 1)],
mask = [(False, False) (True, False) (False, False)],
fill_value = (999999, 999999),
dtype = [('c1', '<i8'), ('c2', '<i8')])