Python Numpy MaskedArray.masked_equal()函数
在许多情况下,数据集可能是不完整的,或因存在无效数据而受到污染。例如,一个传感器可能未能记录一个数据,或者记录了一个无效的值。numpy.ma模块通过引入掩码数组,为解决这个问题提供了一个方便的方法。掩码数组是可能存在缺失或无效项的数组。
numpy.MaskedArray.masked_equal()函数用于屏蔽一个等于给定值的数组。
语法: numpy.ma.masked_equal(arr, value, copy=True)
参数:
arr : [ndarray] 我们要屏蔽的输入数组。
value : [int] 我们要屏蔽的数组的元素。
copy : [bool] 如果为真(默认),在结果中复制Arr。如果为假,则在原地修改arr,并返回一个视图。
返回 : [ MaskedArray] 屏蔽的结果。
代码#1:
# Python program explaining
# numpy.MaskedArray.masked_equal() method
# importing numpy as geek
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
# creating input array
in_arr = geek.array([1, 2, 3, -1, 2])
print ("Input array : ", in_arr)
# applying MaskedArray.masked_equal methods
# to input array where value = 2
mask_arr = ma.masked_equal(in_arr, 2)
print ("Masked array : ", mask_arr)
输出:
Input array : [ 1 2 3 -1 2]
Masked array : [1 -- 3 -1 --]
代码#2:
# Python program explaining
# numpy.MaskedArray.masked_equal() method
# importing numpy as geek
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
# creating input array
in_arr = geek.array([2e8, 3e-5, -45.0, 2e5, 5e2])
print ("Input array : ", in_arr)
# applying MaskedArray.masked_equal methods
# to input array where value = 5e2
mask_arr = ma.masked_equal(in_arr, 5e2)
print ("Masked array : ", mask_arr)
输出:
Input array : [ 2.0e+08 3.0e-05 -4.5e+01 2.0e+05 5.0e+02]
Masked array : [200000000.0 3e-05 -45.0 200000.0 --]