Pandas 滑动窗口

文章讲解了如何使用Python的pandas库进行滑动窗口统计,如计算均值,以及滑动窗口如何使数据更稳定并展示在图表中的效果。
摘要由CSDN通过智能技术生成

        滑动窗口就是能够根据指定的单位长度来框住时间序列,从而计算框内的统计指标。相当于一个长度指定的滑块在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据。

  滑动窗口可以使数据更加平稳,浮动范围会比较小,具有代表性,单独拿出一个数据可能或多或少会离群,有差异或者错误,使用滑动窗口会更规范一些。

import numpy as np
import pandas as pd

df = pd.Series(np.random.randn(600), index=pd.date_range('7/1/2016', freq='D', periods=600))
print(df.head())
r = df.rolling(window=10)
print(r)
# Rolling [window=10,center=False,axis=0]
print(r.mean())
# 窗口计算的量 r.max, r.median, r.std, r.skew, r.sum, r.var

结果: 

Rolling [window=10,center=False,axis=0,method=single]
2016-07-01         NaN
2016-07-02         NaN
2016-07-03         NaN
2016-07-04         NaN
2016-07-05         NaN
                ...   
2018-02-16   -0.186094
2018-02-17   -0.071619
2018-02-18   -0.056907
2018-02-19    0.146923
2018-02-20    0.380557
Freq: D, Length: 600, dtype: float64

然后作个图

import matplotlib.pyplot as plt

plt.figure(figsize=(15, 5))

df.plot(style='r--')
df.rolling(window=10).mean().plot(style='b')
plt.show()

 

明显使用滑动窗口(蓝线)后更加稳定了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值