Python Numpy MaskedArray masked_outside()函数
numpy.MaskedArray.masked_outside()函数用于屏蔽指定区间外的数组。这个函数是masked_where的快捷方式,其中条件为True的arr在区间[v1, v2]之外(arr<v1)|(arr >v2)。界限v1和v2可以按任何顺序给出。
语法: numpy.ma.masked_outside(arr, v1, v2, copy=True)
参数:
arr : [ndarray] 我们要屏蔽的输入数组。
v1, v2 : [int] 下限和上限范围。
copy : [bool] 如果为真(默认),在结果中复制Arr。如果为假,则在原地修改arr,并返回一个视图。
返回 : [ MaskedArray] 屏蔽后的结果阵列。
代码#1:
# Python program explaining
# numpy.MaskedArray.masked_outside() 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_outside methods
mask_arr = ma.masked_outside(in_arr, -1, 1)
print ("Masked array : ", mask_arr)
输出:
Input array : [ 1 2 3 -1 2]
Masked array : [1 -- -- -1 --]
代码#2:
# Python program explaining
# numpy.MaskedArray.masked_outside() 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([5e8, 3e-5, -45.0, 4e4, 5e2])
print ("Input array : ", in_arr)
# applying MaskedArray.masked_outside methods
mask_arr = ma.masked_outside(in_arr, 5e2, 5e8)
print ("Masked array : ", mask_arr)
输出:
Input array : [ 5.0e+08 3.0e-05 -4.5e+01 4.0e+04 5.0e+02]
Masked array : [500000000.0 -- -- 40000.0 500.0]