Python Numpy MaskedArray.masked_invalid()函数

Python Numpy MaskedArray.masked_invalid()函数

在许多情况下,数据集可能是不完整的,或因存在无效数据而受到污染。例如,一个传感器可能未能记录一个数据,或者记录了一个无效的值。numpy.ma模块通过引入掩码数组,为解决这个问题提供了一个方便的方法。掩码数组是可能存在缺失或无效项的数组。

numpy.MaskedArray.masked_invalid()函数用于屏蔽一个出现无效值(NaN或infs)的数组。该函数是masked_where的快捷方式,条件=~(numpy.isfinite(arr))。

语法: numpy.ma.masked_invalid(arr, copy=True)

参数:
arr : [ndarray] 我们要屏蔽的输入数组。
copy : [bool] 如果为真(默认),在结果中复制Arr。如果为假,则在原地修改arr,并返回一个视图。

返回 : [ 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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程