5.1 rolling_mean函数解释
pandas.rolling_mean(arg, window, min_periods=None, freq=None, center=False, how=None, **kwargs)
rolling_mean函数表示通过移动窗口求平均值,即用当前值和前[window]个数值取平均数,得到新的数值。
import pandas as pddata = [3, 60, 83, 100, 52, 36]#源数据
data = pd.DataFrame(data).sort_values(0)
w2 = pd.rolling_mean(data, 2)#设置移动窗口为2,即用当前值和前2个数值取平均数
w3 = pd.rolling_mean(data, 3)#用当前值和前3个数值取平均数
print("源数据:\n", data)
print("移动窗口数为2:\n", w2)
print("移动窗口数为3:\n", w3)结果:
源数据:0
0 3
5 36
4 52
1 60
2 83
3 100
移动窗口数为2:0
0 NaN
5 19.5
4 44.0
1 56.0
2 71.5
3 91.5
移动窗口数为3:0
0 NaN
5 NaN
4 30.333333
1 49.333333
2 65.000000
3 81.000000
rolling的一系列函数中,除了rolling_mean(移动窗口的均值),还有rolling_median(移动窗口的中位数)、rolling_var (移动窗口的方差)、rolling_std (移动窗口的标准差)、rolling_cov (移动窗口的协方差)、rolling_sum (移动窗口的和)、rolling_min (移动窗口的最小值)、rolling_max (移动窗口的最大值)、rolling_corr (移动窗口的相关系数)、rolling_count (计算各个窗口中非NA观测值的数量)。最常用的还是rolling_mean了,作用类似时间序列中提到的移动平滑。