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获取文件ssdeep值的方法
Oct 05 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python验证码识别的示例代码
Sep 21 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
Python实现的选择排序算法示例
Nov 29 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
Django 项目重命名的实现步骤解析
Aug 14 Python
Python打印特殊符号及对应编码解析
May 07 Python
python exit出错原因整理
Aug 31 Python
python基础之文件操作
Oct 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
jQuery中[attribute=value]选择器用法实例
2014/12/31 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
Python文件和流(实例讲解)
2017/09/12 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
SQL面试题
2013/12/09 面试题
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
分享几个简单MySQL优化小妙招
2022/03/31 MySQL