pandas时间序列之pd.to_datetime()的实现


Posted in Python onJune 16, 2022

解析来自各种来源和格式的时间序列信息

pd.to_datetime(
    arg,#int, float, str, datetime, list, tuple, 1-d array, Series DataFrame/dict-like
    errors='raise',# {'ignore', 'raise', 'coerce'}, default 'raise'
    dayfirst=False,
    yearfirst=False,
    utc=None,
    format=None,#格式,比如 "%d/%m/%Y"
    exact=True,
    unit=None,#单位str, default 'ns',可以是(D,s,ms,us,ns)
    infer_datetime_format=False,
    origin='unix',#指定从什么时间开始,默认为19700101
    cache=True,
)

时间序列解析之小试牛刀

pd.to_datetime()

import datetime
import pandas as pd
import numpy as np
dti = pd.to_datetime(['1/1/2018', np.datetime64('2018-01-01'),
                      datetime.datetime(2018, 1, 1)])
dti

DatetimeIndex([‘2018-01-01’, ‘2018-01-01’, ‘2018-01-01’], dtype=‘datetime64[ns]’, freq=None)

pd.to_datetime(['2020-04-20', '20/04/2020','Apr 20 2020'])

DatetimeIndex([‘2020-04-20’, ‘2020-04-20’, ‘2020-04-20’], dtype=‘datetime64[ns]’, freq=None)

import time
time.asctime()

‘Tue Apr 7 21:50:17 2020’

pd.to_datetime(time.asctime())

Timestamp(‘2020-04-07 21:50:17’)

还有更加偷懒的办法,假如整理数据时遇到了大量的时间需要输入,比如2020-11-11 00:00:00,输入-和:太浪费时间了,而且时间之间没有什么变化规律可循,这种情况下可以直接输入20201111000000进行记录,之后再借助pd.to_datetime()解析,省时省力一步到位。

pd.to_datetime('20201111000000')

Timestamp(‘2020-11-11 00:00:00’)

时间序列解析之磨刀霍霍

1. 指定识别的format

pd.to_datetime('2020/12/12', format='%Y/%m/%d')

Timestamp(‘2020-12-12 00:00:00’)

pd.to_datetime('12-11-2010 00:00', format='%d-%m-%Y %H:%M')

Timestamp(‘2010-11-12 00:00:00’)

2. 遇到DataFrame

df = pd.DataFrame({'year': [2015, 2016],
   ....:                    'month': [2, 3],
   ....:                    'day': [4, 5],
   ....:                    'hour': [2, 3]})
df

year month day hour
0 2015 2 4 2
1 2016 3 5 3

pd.to_datetime(df)

0 2015-02-04 02:00:00
1 2016-03-05 03:00:00
dtype: datetime64[ns]

pd.to_datetime(df[['year','month','day']])

0 2015-02-04
1 2016-03-05
dtype: datetime64[ns]

3. 遇到不能识别的处理方法

pd.to_datetime(['2009/07/31', 'asd'], errors='ignore')

Index([‘2009/07/31’, ‘asd’], dtype=‘object’)

pd.to_datetime(['2009/07/31', 'asd'], errors='raise')

ParserError: Unknown string format: asd

pd.to_datetime(['2009/07/31', 'asd'], errors='coerce')

DatetimeIndex([‘2009-07-31’, ‘NaT’], dtype=‘datetime64[ns]’, freq=None)

4. origin的用法

指定时间

pd.to_datetime([1, 2, 3], unit='D', origin=pd.Timestamp('1960-01-01'))

DatetimeIndex([‘1960-01-02', ‘1960-01-03', ‘1960-01-04'], dtype=‘datetime64[ns]', freq=None)

不指定时间则默认从19700101开始

pd.to_datetime([1, 2, 3], unit='D')

DatetimeIndex([‘1970-01-02', ‘1970-01-03', ‘1970-01-04'], dtype=‘datetime64[ns]', freq=None)

到此这篇关于pandas时间序列之pd.to_datetime()的实现的文章就介绍到这了,更多相关pandas pd.to_datetime()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
Python自定义函数的创建、调用和函数的参数详解
Mar 11 Python
Python文件和目录操作详解
Feb 08 Python
python分批定量读取文件内容,输出到不同文件中的方法
Dec 08 Python
python中的协程深入理解
Jun 10 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
python函数中将变量名转换成字符串实例
May 11 Python
Virtualenv 搭建 Py项目运行环境的教程详解
Jun 22 Python
Pycharm的Available Packages为空的解决方法
Sep 18 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
如何利用python 读取配置文件
Jan 06 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 Python
pandas中pd.groupby()的用法详解
Jun 16 #Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 #Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 #Python
python内置模块之上下文管理contextlib
Jun 14 #Python
Python时间操作之pytz模块使用详解
Django框架之路由用法
Jun 10 #Python
深入理解pytorch库的dockerfile
Jun 10 #Python
You might like
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
学习python (2)
2006/10/31 Python
python解析中国天气网的天气数据
2014/03/21 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
简单了解Django模板的使用
2017/12/20 Python
Php多进程实现代码
2018/05/07 Python
python实现彩票系统
2020/06/28 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
经济类毕业生求职信
2014/06/26 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
责任书格式
2015/01/29 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
员工工作心得体会
2019/05/07 职场文书
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS