上一主题

numpy.ma.asanyarray

下一主题

numpy.ma.masked_equal

numpy.ma.fix_invalid

numpy.ma.fix_invalid(a, mask=False, copy=True, fill_value=None)[source]

返回带有无效数据的输入,并用填充值替换。

无效数据表示naninf等的值。

参数:

a:array_like

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

掩码:sequence,可选

面具。必须可转换为与数据相同形状的布尔数组。True表示屏蔽(即无效)数据。

copy:bool,可选

是否使用a(True)的副本或将a修复(False)。默认值为True。

fill_value:标量,可选

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

返回:

b:MaskedArray

输入带有无效条目的数组固定。

笔记

默认情况下执行复制。

例子

>>> 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.00000000e+00,  -1.00000000e+00,   1.00000000e+20,
         1.00000000e+20])
>>> x.data
array([  1.,  -1.,  NaN,  Inf])