相信初学Pandas时间序列时,会遇到rolling函数,不知道该怎么理解,对吧?

让我们用最简单的例子来说明吧。

代码如下:

import pandas as pd
# 导入 pandas index = pd.date_range('2019-01-01',periods=20)
#创建日期序列data = pd.DataFrame(np.arange(len(index)),index=index,columns=['test'])
#创建简单的pd.DataFramedata
#打印data
data['sum'] = data.test.rolling(3).sum()
#移动3个值,进行求和
data['mean'] = data.test.rolling(3).mean()
#移动3个值,进行求平均数
data['mean1'] = data.test.rolling(3,min_periods=2).mean()
#移动3个值,最小计数为2,进行求平均数,查看跟上面有何不同

我们看下结果吧

大家可以看到:

1.sum列和mean列分别为三个连续值(从当前值向前推两个,共计三个值)的求和/求平均值

2.mean列mean1列区别在于:前者NaN值有2个,后者只有1个

简单了解后,我们补充相对复杂的解释:

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

逐个介绍参数值:

1) window:表示时间窗的大小,通常为int,数值表示计算统计量的观测值的数量即向前几个数据,见上面例子中rolling(3)

2)min_periods:最少需要有值的观测点的数量,对于int类型,默认与window相等。若调整,则一般小于window值,见上面例子rolling(3,min_periods=2)

3)freq:从0.18版本中已经被舍弃。

4)center:是否使用window的中间值作为label,默认为false。只能在window是int时使用。让我们举例说明,如下截图所示,

大家看出不一样了吗?

没有看出来,我们再次举例,见截图如下:

这次大家应该看出来,center=True 的设定,会使得三个连续值(从当前值向前向后各推1个,共计3个值)求平均值

5)win_type:默认为None,一般不特殊指定

6)on:对于多列FrameData,用on来指定使用哪列(举例data.test,已经指定了)

7)closed:定义区间的开闭,即默认为right

8)axis:0--行,1---列

好了,希望能够给大家带来帮助,谢谢阅读。

Pandas时间序列 :rolling 用法快速理解相关推荐

  1. 使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling)、seaborn使用lineplot函数可视化时间序列数据、并添加滚动平均值

    使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling).seaborn使用lineplot函数可视化时间序列数据(time ser ...

  2. 快速理解Spark Dataset

    1. 前言 RDD.DataFrame.Dataset是Spark三个最重要的概念,RDD和DataFrame两个概念出现的比较早,Dataset相对出现的较晚(1.6版本开始出现),有些开发人员对此 ...

  3. EduCoder Pandas高效化运算与时间序列处理 第3关:Pandas时间序列的高级应用

    文章目录 任务描述 相关知识 时间频率与偏移量 重新取样.迁移和窗口 重新取样 时间迁移 移动时间窗口 编程要求 测试说明 任务描述 根据相关知识完成下列任务: 求上个季度(仅含工作日)的平均值: 求 ...

  4. pandas dataframe rolling 移动计算

    rolling()用法 rolling()方法主要用于移动运算,什么叫移动运算哪?最简单的理解就是,比如商品的销售来说,想知道A商品每7天每1个月的销售数量,这个时候用rolling()方法就可以轻松 ...

  5. Pandas 时间序列 - DateOffset 对象

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 国亡身殒今何有,只留离骚在世间. ...

  6. Pandas 时间序列 - 实例方法与重采样

    呆鸟云:"数据分析就像是夜里行军,业务是灯塔,是地图,没灯塔你不知道方向,没地图你不知道该怎么走.技术是你的交通工具,你用11路,还是骑自行车,还是开跑车,交通工具越好,你实现目标的速度越快 ...

  7. Pandas时间序列数据处理和datetime模块详细教程

    时间序列分析中,常常需要处理时间相关数据,故参考<Python for Data Analysis>总结了Python和Pandas常用的时间序列数据处理的相关操作,并在 Python3. ...

  8. 快速理解高性能HTTP服务端的负载均衡技术原理

    1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...

  9. 《Metasploit渗透测试手册》—第3章3.2节Exploit用法快速提示

    本节书摘来自异步社区<Metasploit渗透测试手册>一书中的第3章3.2节Exploit用法快速提示,作者[印度]Abhinav Singh,更多章节内容可以访问云栖社区"异 ...

最新文章

  1. ubuntu终端基础命令
  2. crm开源系统 tp框架_thinkphp6学习教程与源码 tp6开源CMS系统源码研究
  3. Spring 声明式事务在业务开发中容易碰到的坑总结
  4. linux修改python默认版本
  5. IE无法打开新窗口与U盘不显示故障的解决
  6. java lambda 两个冒号_java lambda 表达式中的双冒号的用法说明 ::
  7. 内核模块编程之_初窥门径【ZT】
  8. 企业主要培养三大方向的思考习惯
  9. kafka的延迟操作-pull操作详解
  10. Web开发入门型服务器使用心得
  11. 一种手机保密桌面的想法
  12. Spring Cloud Alibaba Seata工作原理
  13. adb工具构成及原理
  14. 高通平台 ramdump-parser 简介
  15. linux安装jdk1.8
  16. 带有en的单词有哪些_英语前缀大全en:开头是EN的单词有哪些
  17. 手机端自适应表格table样式如何写
  18. 「镁客·请讲」泛联智能蒲忠文:灯联网是未来物联网行业的一个杀手级应用...
  19. 傻白探索Chiplet,Chiplet技术简介(一)
  20. 洛谷 3455 (莫比乌斯反演优化)

热门文章

  1. html5动态温度计特效,热电偶温度计
  2. 汽车美容管理系统质量属性
  3. 解决Http或Https中下载中文文件乱码和无法下载问题
  4. 软件开发:界面库详细对比,开发工具的选择指导
  5. linux .. 权限详解,Linux用户及权限详解(示例代码)
  6. 论文阅读-Retrieving and Reading : A ComprehensiveSurvey on Open-domain Question Answering
  7. jquery搜索框效果,搜索,请输入关键字
  8. houdini入门藤曼笔记
  9. CPU缓存一致性协议
  10. 详细安装Sonarqube7.7教程