numpy.ma.masked_array.filled#

方法

ma.masked_array.filled(fill_value=None)[源代码]#

返回自身的副本,其中被遮罩(masked)的值将用给定值填充。然而,如果没有可填充的被遮罩值,则将返回自身作为一个 ndarray。

参数:
fill_valuearray_like, 可选

用于无效条目的值。可以是标量或非标量。如果是非标量,则生成的 ndarray 必须可广播到输入数组。默认值为 None,在这种情况下,将使用数组的 fill_value 属性。

返回:
filled_arrayndarray

一个 self 的副本,其中无效条目由 fill_value 替换(无论是函数参数还是 self 的属性),如果没有任何无效条目需要替换,则返回 self 本身作为一个 ndarray。

注意

结果**不是**一个 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')])