Python Numpy MaskedArray.anom()函数
在许多情况下,数据集可能是不完整的,或因存在无效数据而受到污染。例如,一个传感器可能未能记录一个数据,或者记录了一个无效的值。numpy.ma模块通过引入掩码数组,为解决这个问题提供了一个方便的方法。掩码数组是可能存在缺失或无效项的数组。
numpy.MaskedArray.anom()函数 沿着给定的轴计算异常值(与算术平均值的偏差)。它返回一个异常值数组,其形状与输入值相同,其中算术平均值是沿着给定轴计算的。
语法: numpy.MaskedArray.anom(axis=None, dtype=None)
参数:
axis : [int or None] 采集异常值的轴。
dtype : [ dtype, optional] 计算方差时使用的类型。
返回: [ndarray]一个异常点的数组。
代码#1:
# Python program explaining
# numpy.MaskedArray.anom() 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, 5])
print ("Input array : ", in_arr)
# Now we are creating a masked array
# by making third entry as invalid.
mask_arr = ma.masked_array(in_arr, mask =[0, 0, 1, 0, 0])
print ("Masked array : ", mask_arr)
# applying MaskedArray.anom methods to mask array
out_arr = mask_arr.anom()
print ("Output anomalies array : ", out_arr)
输出:
Input array : [ 1 2 3 -1 5]
Masked array : [1 2 -- -1 5]
Output anomalies array : [-0.75 0.25 -- -2.75 3.25]
代码#2:
# Python program explaining
# numpy.MaskedArray.anom() 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([10, 20, 30, 40, 50])
print ("Input array : ", in_arr)
# Now we are creating a masked array by making
# first and third entry as invalid.
mask_arr = ma.masked_array(in_arr, mask =[1, 0, 1, 0, 0])
print ("Masked array : ", mask_arr)
# applying MaskedArray.anom methods to mask array
out_arr = mask_arr.anom()
print ("Output anomalies array : ", out_arr)
输出:
nput array : [10 20 30 40 50]
Masked array : [-- 20 -- 40 50]
Output anomalies array : [-- -16.666666666666664 -- 3.3333333333333357 13.333333333333336]