Pandas时间序列 :rolling 用法快速理解
相信初学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 用法快速理解相关推荐
- 使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling)、seaborn使用lineplot函数可视化时间序列数据、并添加滚动平均值
使用Pandas的rolling函数计算滚动平均值(rolling average with Pandas rolling).seaborn使用lineplot函数可视化时间序列数据(time ser ...
- 快速理解Spark Dataset
1. 前言 RDD.DataFrame.Dataset是Spark三个最重要的概念,RDD和DataFrame两个概念出现的比较早,Dataset相对出现的较晚(1.6版本开始出现),有些开发人员对此 ...
- EduCoder Pandas高效化运算与时间序列处理 第3关:Pandas时间序列的高级应用
文章目录 任务描述 相关知识 时间频率与偏移量 重新取样.迁移和窗口 重新取样 时间迁移 移动时间窗口 编程要求 测试说明 任务描述 根据相关知识完成下列任务: 求上个季度(仅含工作日)的平均值: 求 ...
- pandas dataframe rolling 移动计算
rolling()用法 rolling()方法主要用于移动运算,什么叫移动运算哪?最简单的理解就是,比如商品的销售来说,想知道A商品每7天每1个月的销售数量,这个时候用rolling()方法就可以轻松 ...
- Pandas 时间序列 - DateOffset 对象
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 国亡身殒今何有,只留离骚在世间. ...
- Pandas 时间序列 - 实例方法与重采样
呆鸟云:"数据分析就像是夜里行军,业务是灯塔,是地图,没灯塔你不知道方向,没地图你不知道该怎么走.技术是你的交通工具,你用11路,还是骑自行车,还是开跑车,交通工具越好,你实现目标的速度越快 ...
- Pandas时间序列数据处理和datetime模块详细教程
时间序列分析中,常常需要处理时间相关数据,故参考<Python for Data Analysis>总结了Python和Pandas常用的时间序列数据处理的相关操作,并在 Python3. ...
- 快速理解高性能HTTP服务端的负载均衡技术原理
1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...
- 《Metasploit渗透测试手册》—第3章3.2节Exploit用法快速提示
本节书摘来自异步社区<Metasploit渗透测试手册>一书中的第3章3.2节Exploit用法快速提示,作者[印度]Abhinav Singh,更多章节内容可以访问云栖社区"异 ...
最新文章
- ubuntu终端基础命令
- crm开源系统 tp框架_thinkphp6学习教程与源码 tp6开源CMS系统源码研究
- Spring 声明式事务在业务开发中容易碰到的坑总结
- linux修改python默认版本
- IE无法打开新窗口与U盘不显示故障的解决
- java lambda 两个冒号_java lambda 表达式中的双冒号的用法说明 ::
- 内核模块编程之_初窥门径【ZT】
- 企业主要培养三大方向的思考习惯
- kafka的延迟操作-pull操作详解
- Web开发入门型服务器使用心得
- 一种手机保密桌面的想法
- Spring Cloud Alibaba Seata工作原理
- adb工具构成及原理
- 高通平台 ramdump-parser 简介
- linux安装jdk1.8
- 带有en的单词有哪些_英语前缀大全en:开头是EN的单词有哪些
- 手机端自适应表格table样式如何写
- 「镁客·请讲」泛联智能蒲忠文:灯联网是未来物联网行业的一个杀手级应用...
- 傻白探索Chiplet,Chiplet技术简介(一)
- 洛谷 3455 (莫比乌斯反演优化)
热门文章
- html5动态温度计特效,热电偶温度计
- 汽车美容管理系统质量属性
- 解决Http或Https中下载中文文件乱码和无法下载问题
- 软件开发:界面库详细对比,开发工具的选择指导
- linux .. 权限详解,Linux用户及权限详解(示例代码)
- 论文阅读-Retrieving and Reading : A ComprehensiveSurvey on Open-domain Question Answering
- jquery搜索框效果,搜索,请输入关键字
- houdini入门藤曼笔记
- CPU缓存一致性协议
- 详细安装Sonarqube7.7教程