感想
一、窗口对象
pandas 中有 3 类窗口,分别是滑动窗口 rolling 、扩张窗口 expanding 以及指数加权窗口 ewm。
1、rolling():移动窗口,常用参数window
ab= pd.Series([1,2,3,4,5,6,7,8,9,10])
ab.rolling(window=2).sum()
返回结果:
很容易发现,window参数就相当于一个移动切片,从第window个数据开始往前截取window个数据。
小练习:
rolling 对象的默认窗口方向都是向前的,某些情况下用户需要向后的窗口,例如对 1,2,3 设定向后窗口为 2 的 sum 操作,结果为 3,5,NaN,此时应该如何实现向后的滑窗操作?
答案:
c= pd.Series([1,2,3])
c.rolling(window=2).sum().shift(-1)
2、 expanding():累计窗口,可实现cumsum、cummax、cummin。下面就一个一个的演示。
①、cumsum
ab= pd.Series([2,4,6,8,10])
ab.expanding().sum()
结果:2 6 12 20 30
②、cummax
ab= pd.Series([5,4,3,8,10])
ab.expanding().max()
结果:5 5 5 8 10
③、cummin
ab= pd