pandas.rolling()简单使用

pandas.rolling()函数提供滚动窗口计算的功能 (版本0.18.0中的新功能)

DataFrame.rolling(window,min_periods = None,freq = None,center = False,win_type = None,on = None,axis = 0,closed = None)

部分参数说明:
window:移动窗口的大小,用于计算统计量的观测数.如果是偏移量类型,那么这将是每个窗口的时间段。
min_periods:窗口中的最小观察数,默认是窗口大小,如果窗口非空值数量小于此数,则取NAN
center:将标签设置在窗口的中心(即将结果放在窗口的中心位置,默认是最右侧位置)
axis: int或string,0(列)为默认,1(行)

示例:

import pandas as pd
import numpy as np
df1 = pd.DataFrame({'A': [0, 1, 2, np.nan, 4],'B': [0, np.nan,1, 2, 4],'C': [3, 7, 2, np.nan, 4],'D': [0,6, 2, 4, np.nan]})
print(df1)
     A    B    C    D
0  0.0  0.0  3.0  0.0
1  1.0  NaN  7.0  6.0
2  2.0  1.0  2.0  2.0
3  NaN  2.0  NaN  4.0
4  4.0  4.0  4.0  NaN
df2=df1.rolling(3, center=True,min_periods=1).sum()
print(df2)
     A    B     C     D
0  1.0  0.0  10.0   6.0
1  3.0  1.0  12.0   8.0
2  3.0  3.0   9.0  12.0
3  6.0  7.0   6.0   6.0
4  4.0  6.0   4.0   4.0
df1.update(df2,overwrite=False)#overwrite默认是TRUE,全部替换。False只替换原始数据中的NAN
print(df1)
     A    B    C    D
0  0.0  0.0  3.0  0.0
1  1.0  1.0  7.0  6.0
2  2.0  1.0  2.0  2.0
3  6.0  2.0  6.0  4.0
4  4.0  4.0  4.0  4.0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容