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 29 Python
Python中os和shutil模块实用方法集锦
May 13 Python
python中对list去重的多种方法
Sep 18 Python
Python中强大的命令行库click入门教程
Dec 26 Python
python 重定向获取真实url的方法
May 11 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
pandas 空数据处理方法详解
Nov 02 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
python 多态 协议 鸭子类型详解
Nov 27 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 session有效期session.gc_maxlifetime
2011/04/20 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Bootstrap3 图片(响应式图片&图片形状)
2017/01/04 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
vue数据初始化initState的实例详解
2019/04/11 Javascript
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
python采集微信公众号文章
2018/12/20 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
HTML5标签大全
2016/11/23 HTML / CSS
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
应届生法律求职信
2013/10/22 职场文书
关于学习的演讲稿
2014/05/10 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
研究生求职自荐书
2014/06/23 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
写给女朋友的保证书
2015/05/09 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
导游词之无锡梅园
2019/11/28 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
python的变量和简单数字类型详解
2021/09/15 Python