numpy.ma.MaskedArray.filled#

方法

ma.MaskedArray.filled(fill_value=None)[source]#

回傳自身的副本,其中遮罩值會以給定值填滿。然而,如果沒有要填滿的遮罩值,則會改為以 ndarray 形式回傳自身。

參數:
fill_valuearray_like, 選填

用於無效條目的值。可以是純量或非純量。如果是非純量,則產生的 ndarray 必須可廣播到輸入陣列之上。預設值為 None,在這種情況下,會改為使用陣列的 fill_value 屬性。

回傳值:
filled_arrayndarray

若有要取代的無效條目,則回傳 self 的副本,其中無效條目會被 fill_value (函數引數或 self 的屬性) 取代;若沒有要取代的無效條目,則會以 ndarray 形式回傳 self 本身。

註解

結果不是 MaskedArray!

範例

>>> import numpy as np
>>> x = np.ma.array([1,2,3,4,5], mask=[0,0,1,0,1], fill_value=-999)
>>> x.filled()
array([   1,    2, -999,    4, -999])
>>> x.filled(fill_value=1000)
array([   1,    2, 1000,    4, 1000])
>>> type(x.filled())
<class 'numpy.ndarray'>

子類別化會被保留。這表示如果遮罩陣列的資料部分是 recarray,例如,filled 會回傳 recarray

>>> x = np.array([(-1, 2), (-3, 4)], dtype='i8,i8').view(np.recarray)
>>> m = np.ma.array(x, mask=[(True, False), (False, True)])
>>> m.filled()
rec.array([(999999,      2), (    -3, 999999)],
          dtype=[('f0', '<i8'), ('f1', '<i8')])