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实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
Windows下python3.6.4安装教程
Jul 31 Python
python多进程控制学习小结
Oct 31 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
python中def是做什么的
Jun 10 Python
Python使用protobuf序列化和反序列化的实现
May 19 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 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
2006/12/23 PHP
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
python去掉空白行的多种实现代码
2018/03/19 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
Python龙贝格法求积分实例
2020/02/29 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
python编写实现抽奖器
2020/09/10 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
八年级音乐教学反思
2014/01/09 职场文书
公司捐款倡议书
2014/05/14 职场文书
简单租房协议书范本
2014/08/20 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
药品开票员岗位职责
2015/04/15 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
单位更名证明
2015/06/18 职场文书
旅行社计调工作总结
2015/08/12 职场文书
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android