python pandas时序处理相关功能详解


Posted in Python onJuly 03, 2019

创建时间序列

函数pd.date_range()

根据指定的范围,生成时间序列DatetimeIndex,每隔元素的类型为Timestamp。该函数应用较多。

ts = pd.date_range('2017-09-01', periods=10, freq='d', normalize=False)
ts

输出为:

DatetimeIndex(['2017-09-01', '2017-09-02', '2017-09-03', '2017-09-04',
'2017-09-05', '2017-09-06', '2017-09-07', '2017-09-08',
'2017-09-09', '2017-09-10'],
dtype='datetime64[ns]', freq='D'

主要的入参解析:

  • start: 开始时刻,可以是字符串或者datetime类型的值。默认None。
  • end: 结束时刻,可以是字符串或者datetime类型的值,如果指定了长度,即periods,则可不设置。默认None。
  • periods: 时序的长度,整型类型。如果有end,可不设置。默认None。
  • freq: 时序生成的频率,即每隔多少时刻生成一个时序点。字符串类型或者DateOffset类型。默认'D',即天粒度,见上述代码输出。
  • tz: 时区,字符串类型。默认None。
  • normalize: bool类型,没用过,不知道干啥的。
  • name: 设置时序的名称,字符串类型,默认None。
  • closed: 是否包含两边的值。默认None,即两边都保留。

其中,freq的取值可以为如下的符号表示间隔,可以结合符号和数字,如'3d',表示每隔三天记录一个时间点。大小写都可以。

B business day frequency
C custom business day frequency (experimental)
D calendar day frequency
W weekly frequency
M month end frequency
SM semi-month end frequency (15th and end of month)
BM business month end frequency
CBM custom business month end frequency
MS month start frequency
SMS semi-month start frequency (1st and 15th)
BMS business month start frequency
CBMS custom business month start frequency
Q quarter end frequency
BQ business quarter endfrequency
QS quarter start frequency
BQS business quarter start frequency
A year end frequency
BA business year end frequency
AS year start frequency
BAS business year start frequency
BH business hour frequency
H hourly frequency
T, min minutely frequency
S secondly frequency
L, ms milliseconds
U, us microseconds
N nanoseconds

字符串转换为时间戳

pd.to_datetime() 函数可以将表示时间的字符串转换位TimeStamp。

pd.to_datetime('2017-09-01')

输出为:

Timestamp('2017-09-01 00:00:00')

常用的参数:

format: 用来设置字符串的格式,默认如上所示。

时间戳的加减
有时候需要将时间进行增减,可以使用类型:DateOffset。

pd.to_datetime('2017-09-01') + pd.DateOffset(days=10)

输出为:

Timestamp('2017-09-11 00:00:00')

DateOffset常用的参数:

  • months,设置月。
  • days,设置天。
  • years,设置年。
  • hours,设置小时。
  • minutes,设置分钟。
  • seconds,设置秒。

以上可以同时设置,组合使用。

pd.to_datetime('2017-09-01') + pd.DateOffset(seconds=10, days = 10)

输出为:

Timestamp('2017-09-11 00:00:10')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
python中的闭包用法实例详解
May 05 Python
python使用pymysql实现操作mysql
Sep 13 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
python 调用有道api接口的方法
Jan 03 Python
python 猴子补丁(monkey patch)
Jun 26 Python
python的faker库用法
Nov 28 Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 15 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
分享python函数常见关键字
Apr 26 Python
在linux下实现 python 监控usb设备信号
Jul 03 #Python
django-allauth入门学习和使用详解
Jul 03 #Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 #Python
Python使用线程来接收串口数据的示例
Jul 02 #Python
使用Python在Windows下获取USB PID&VID的方法
Jul 02 #Python
在windows下使用python进行串口通讯的方法
Jul 02 #Python
浅析Python 中几种字符串格式化方法及其比较
Jul 02 #Python
You might like
destoon二次开发入门示例
2014/06/20 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
网页自动跳转代码收集
2009/09/27 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
js实现点击图片自动提交action的简单方法
2016/10/16 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
python解析中国天气网的天气数据
2014/03/21 Python
Python Trie树实现字典排序
2014/03/28 Python
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
关于迟到的检讨书
2015/05/06 职场文书
推广普通话的宣传语
2015/07/13 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
python blinker 信号库
2022/05/04 Python