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中List的sort方法指南
Sep 01 Python
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
Python装饰器基础详解
Mar 09 Python
Python实现简单的多任务mysql转xml的方法
Feb 08 Python
python如何让类支持比较运算
Mar 20 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
Python的iOS自动化打包实例代码
Nov 22 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
如何基于python把文字图片写入word文档
Jul 31 Python
如何在windows下安装配置python工具Ulipad
Oct 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&java(三)
2006/10/09 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
jquery插件制作简单示例说明
2012/02/03 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
Python+django实现文件下载
2016/01/17 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
详解python 注释、变量、类型
2018/08/10 Python
Python3.5运算符操作实例详解
2019/04/25 Python
django的model操作汇整详解
2019/07/26 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
会计电算化应届生自荐信
2014/02/25 职场文书
公司会议开幕词
2015/01/29 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
行政上诉状范文
2015/05/23 职场文书
南京南京观后感
2015/06/02 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
CSS 圆形进度栏
2021/04/06 HTML / CSS