距平

距平表示变量偏离平均水平的量。numpy中并没有直接的函数可以计算某变量的距平,然而我们可以通过对均值函数的灵活运用加以实现。除此以外,scipy库中的去趋势函数也可以计算数据的距平,具体将在去趋势一节中介绍。

将以下内容复制进A.py文件,与使用脚本放在同一文件夹内,通过import A 调用。

1
2
3
4
5
6
7
8
9
10
11
'''
function :anomaly(x,a)
计算序列,数组距平。
对x的a轴求距平。
x为序列或数组,
a为int;如1或(0,1)
'''
import numpy as np
def anomaly(x,a):
y = x - x.mean(axis=(a))
return y

例:

1
2
3
4
import numpy as np
data = np.array([[1,3,6], [7,5,3]])
print(anomaly(data,0))
print(anomaly(data,(0,1)))
1
2
3
4
[[-3.  -1.   1.5]
[ 3. 1. -1.5]]
[[-3.16666667 -1.16666667 1.83333333]
[ 2.83333333 0.83333333 -1.16666667]]