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多进程操作实例
Nov 21 Python
Python的类实例属性访问规则探讨
Jan 30 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
Pycharm如何导入python文件及解决报错问题
May 10 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 Python
python多次执行绘制条形图
Apr 20 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
实用函数3
2007/11/08 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
php实现评论回复删除功能
2017/05/23 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
Python的语言类型(详解)
2017/06/24 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
10个顶级Python实用库推荐
2021/03/04 Python
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
会计专业自荐信范文
2013/12/02 职场文书
节能宣传周活动总结
2014/05/08 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
行政上诉状范文
2015/05/23 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
Linux下使用C语言代码搭建一个简单的HTTP服务器
2022/04/13 Servers
搭建Yolov5服务器
2022/04/30 Servers
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS