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入门篇之对象类型
Oct 17 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
对python判断是否回文数的实例详解
Feb 08 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
selenium处理元素定位点击无效问题
Jun 12 Python
postman传递当前时间戳实例详解
Sep 14 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
使用python模拟高斯分布例子
Dec 09 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
浅谈PyTorch中in-place operation的含义
Jun 27 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+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP学习笔记之session
2018/05/06 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
Python实现抓取网页并且解析的实例
2014/09/20 Python
python妙用之编码的转换详解
2017/04/21 Python
Python反转序列的方法实例分析
2018/03/21 Python
python实现linux下抓包并存库功能
2018/07/18 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python实现图片横向和纵向拼接
2020/03/05 Python
Python中Selenium模块的使用详解
2020/10/09 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
伦敦奥运会口号
2014/06/13 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
2015年护士节活动总结
2015/02/10 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android