在许多情况下,数据集可能不完整或被无效数据污染。例如,传感器可能无法记录数据或记录了无效值。的numpy.ma
模块通过引入掩码数组提供了解决此问题的便捷方法。掩码数组是可能缺少条目或无效条目的数组。
numpy.MaskedArray.masked_invalid()
该函数用于屏蔽出现无效值(NaNs或infs)的数组。 masked_where
,带有 condition = ~(numpy.isfinite(arr))
。
用法: numpy.ma.masked_invalid(arr, copy=True)
参数:
arr :[ndarray]我们要屏蔽的输入数组。
copy :[bool]如果为True(默认),则在结果中复制arr。如果为False,则修改arr并返回视图。
Return :[MaskedArray]屏蔽后的结果数组。
代码1:
# Python program explaining
# numpy.MaskedArray.masked_invalid() method
# importing numpy as geek
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
# creating input array with invalid values
in_arr = geek.array([1, 2, geek.nan, -1, geek.inf])
print ("Input array:", in_arr)
# applying MaskedArray.masked_invalid
# methods to input array
mask_arr = ma.masked_invalid(in_arr)
print ("Masked array:", mask_arr)
输出:
Input array: [ 1. 2. nan -1. inf] Masked array: [1.0 2.0 -- -1.0 --]
代码2:
# Python program explaining
# numpy.MaskedArray.masked_invalid() method
# importing numpy as geek
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
# creating input array with invalid element
in_arr = geek.array([5e8, 3e-5, geek.nan, 4e4, 5e2])
print ("Input array:", in_arr)
# applying MaskedArray.masked_invalid
# methods to input array
mask_arr = ma.masked_invalid(in_arr)
print ("Masked array:", mask_arr)
输出:
Input array: [5.e+08 3.e-05 nan 4.e+04 5.e+02] Masked array: [500000000.0 3e-05 -- 40000.0 500.0]
相关用法
- Python numpy.cov()用法及代码示例
- Python numpy.copyto()用法及代码示例
- Python Numpy MaskedArray.any()用法及代码示例
- Python Numpy MaskedArray.var()用法及代码示例
- Python Numpy MaskedArray.sum()用法及代码示例
- Python numpy.issubsctype()用法及代码示例
- Python Numpy MaskedArray.std()用法及代码示例
- Python Numpy MaskedArray.mean()用法及代码示例
- Python Numpy recarray.put()用法及代码示例
- Python Numpy recarray.ptp()用法及代码示例
- Python Numpy MaskedArray.all()用法及代码示例
- Python Numpy MaskedArray.dot()用法及代码示例
- Python Numpy recarray.all()用法及代码示例
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 Numpy MaskedArray.masked_invalid() function | Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。