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的ORM框架SQLAlchemy入门教程
Apr 28 Python
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
pycharm-professional-2020.1下载与激活的教程
Sep 21 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
Nov 17 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
人族 TERRAN 概述
2020/03/14 星际争霸
php array_merge下进行数组合并的代码
2008/07/22 PHP
php图片缩放实现方法
2014/02/20 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
popdiv
2006/07/14 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python异常处理总结
2014/08/15 Python
Python入门篇之文件
2014/10/20 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
flask应用部署到服务器的方法
2019/07/12 Python
django admin组件使用方法详解
2019/07/19 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python实现电子词典
2020/03/03 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
经营理念口号
2014/06/21 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技