numpy.ma.fix_invalid#

ma.fix_invalid(a, mask=np.False_, copy=True, fill_value=None)[源代码]#

返回输入数据中无效数据被屏蔽并用填充值替换的结果.

无效数据意味着 naninf 等值.

参数:
aarray_like

输入数组,一个(ndarray 的子类).

mask序列, 可选

掩码.必须可以转换为与 data 形状相同的布尔数组.True 表示掩码(即无效)数据.

copybool, 可选

是否使用 a 的副本(True)或就地固定 `a`(False).默认为 True.

fill_value标量,可选

用于修复无效数据的值.默认是 None,在这种情况下使用 a.fill_value.

返回:
bMaskedArray

修复了无效条目的输入数组.

备注

默认情况下会执行复制.

示例

>>> import numpy as np
>>> x = np.ma.array([1., -1, np.nan, np.inf], mask=[1] + [0]*3)
>>> x
masked_array(data=[--, -1.0, nan, inf],
             mask=[ True, False, False, False],
       fill_value=1e+20)
>>> np.ma.fix_invalid(x)
masked_array(data=[--, -1.0, --, --],
             mask=[ True, False,  True,  True],
       fill_value=1e+20)
>>> fixed = np.ma.fix_invalid(x)
>>> fixed.data
array([ 1.e+00, -1.e+00,  1.e+20,  1.e+20])
>>> x.data
array([ 1., -1., nan, inf])