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通过get,post方式发送http请求和接收http响应的方法
May 26 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python根据txt文本批量创建文件夹
Dec 08 Python
Python对接六大主流数据库(只需三步)
Jul 31 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Python bytes string相互转换过程解析
Mar 05 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
Selenium 配置启动项参数的方法
Dec 04 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 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采集相关教程之一 CURL函数库
2010/02/15 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
php如何利用pecl安装mongodb扩展详解
2019/01/09 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
Document 对象的常用方法
2009/07/31 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
Python上下文管理器和with块详解
2017/09/09 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
利用Python计算KS的实例详解
2020/03/03 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
python和php学习哪个更有发展
2020/06/17 Python
Python魔术方法专题
2020/06/19 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
中秋节感想
2015/08/10 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Redis实现一个账号只能登录一个设备
2022/04/19 Redis
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL
Win2008系统搭建DHCP服务器
2022/06/25 Servers