rolling()用法
rolling()方法主要用于移动运算,什么叫移动运算哪?最简单的理解就是,比如商品的销售来说,想知道A商品每7天每1个月的销售数量,这个时候用rolling()方法就可以轻松实现
df.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)
window: 向前计算的行数,如设置为3,则第一行为NaN+NaN+1 第二行为NaN+1+2 第三行为1+2+3
min_periods:最小的向前计算行数,默认为None,当window设置为3时,第一行数据向前查询时不满足3行,则值为设置为NaN,当设置为1时,就会抛弃不存在的行,只取第一行。
center: 把窗口的标签设置为居中。布尔型,默认False,居右
win_type: 窗口的类型。截取窗的各种函数。字符串类型,默认为None。各种类型
on: 可选参数。对于dataframe而言,指定计算后的对应列名,如果计算列为salenum,原有的数据列包含为goods,当on=goods时计算后的数据就为goods salenum两个列
axis: 0/1,默认为0,即对列进行计算
closed:定义区间的开闭,支持int类型的window。对于offset类型默认是左开右闭的即默认为right。可以根据情况指定为left both等。
以下代码截图来自Jupyter中文集成版(Python整合版)
Git地址:
https://github.com/DaiMaBang/Jupyterhttps://github.com/DaiMaBang/Jupyter计算巧克力每3天的销售数量,指定了on和计算列(系统默认会找数值列进行计算)
通过agg方法,指定对应的列的计算方法
求平均值