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中tell()方法的使用详解
May 24 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
在python中利用opencv简单做图片比对的方法
Jan 24 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
Python for循环搭配else常见问题解决
Feb 11 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
Python可视化学习之seaborn调色盘
Feb 24 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数组键名技巧小结
2015/02/17 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
python按照多个条件排序的方法
2019/02/08 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python解析json代码实例解析
2019/11/25 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
预备党员的自我评价
2014/03/12 职场文书
党性心得体会
2014/09/03 职场文书
毕业典礼主持词
2015/06/29 职场文书
治理商业贿赂工作总结
2015/08/10 职场文书
春节随笔
2015/08/15 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
解析MySQL索引的作用
2022/03/03 MySQL