ma.fix_invalid(a, mask=np.False_, copy=True, fill_value=None)
Return input with invalid data masked and replaced by a fill value.
Invalid data means values of
,
, etc.
Parameters:aarray_likeInput array, a (subclass of) ndarray.
masksequence, optionalMask. Must be convertible to an array of booleans with the same shape as data. True indicates a masked (i.e. invalid) data.
copybool, optionalWhether to use a copy of a (True) or to fix a in place (False). Default is True.
fill_valuescalar, optionalValue used for fixing invalid data. Default is None, in which case the a.fill_value is used.
Returns:bMaskedArrayThe input array with invalid entries fixed.
Notes
A copy is performed by default.
Examples
>>> importnumpyasnp>>> x=np.ma.array([1.,-1,np.nan,np.inf],mask=[1]+[0]*3)>>> xmasked_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.dataarray([ 1.e+00, -1.e+00, 1.e+20, 1.e+20])>>> x.dataarray([ 1., -1., nan, inf])