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字符串逐字符或逐词反转方法
May 21 Python
你应该知道的python列表去重方法
Jan 17 Python
微信跳一跳python自动代码解读1.0
Jan 12 Python
python实现机器人行走效果
Jan 29 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
python微信公众号之关注公众号自动回复
Oct 25 Python
Python多项式回归的实现方法
Mar 11 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
python中有关时间日期格式转换问题
Dec 25 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
May 17 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
PHP中FTP相关函数小结
2016/07/15 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
简单学习Python time模块
2016/04/29 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
经济管理专业自荐信
2013/12/30 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
医院义诊活动总结
2014/07/04 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
在职证明格式样本
2015/06/15 职场文书
Android存储中最基本的文件存储方式
2022/04/30 Java/Android