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 相关文章推荐
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
对python字典元素的添加与修改方法详解
Jul 06 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
Python中list循环遍历删除数据的正确方法
Sep 02 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
Python如何使用vars返回对象的属性列表
Oct 17 Python
Pandas 数据编码的十种方法
Apr 20 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 运行效率总结(提示程序速度)
2009/11/26 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
vuejs如何配置less
2017/04/25 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
改进Django中的表单的简单方法
2015/07/17 Python
python斐波那契数列的计算方法
2018/09/27 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
学Python 3的理由和必要性
2019/11/19 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
如何利用python进行时间序列分析
2020/08/04 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
中专生毕业自我鉴定
2013/11/01 职场文书
应付会计岗位职责
2013/12/12 职场文书
电子商务求职信
2014/06/15 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
幸福中国演讲稿
2014/09/12 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL