pd.to datetime,pd.to_datetime format
主要介绍pd.to_datetime中时间对象转换datetime的例子,通过示例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
00-1010数据预处理模式1、模式2、模式3参考:时间对象转换日期时间实例
首先,说:
1/17/07的格式为“% m/% d/% y ”, 17-1-2007的格式为“%d-%m-%y ”,这是时间转换格式的一部分。使用上述格式,您可以将DataFrame中的时间格式转换为以下python格式:
0 2007-03-02
1 2007-03-22
2 2007-04-06
3 2007-04-14
4 2007-04-15
Name: date_parsed,dtype: datetime64[ns]
Dtype:datetime64,这是转换后的形式。事实上,您可以使用dtype来查看原始数据的列,以了解其格式。你会发现它是实物的形式。这种对象格式通常是python用来记录可变兑换的格式。此格式不能被识别为时间格式。虽然我们一眼就能看出来,但是机器看不出来。
Data=pd.read_csv(path) #获取数据
数据[日期]。head() #检查日期列
0 01/02/1965
1 01/04/1965
2 01/05/1965
3 01/08/1965
4 01/09/1965
名称:日期,数据类型:对象
可以看出是对象格式,不是日期格式。
data[ date _ parsed ]=PD . to _ datetime(data[ date ],format=%m/%d/%y )
我们将时间转换为python格式,并将其添加到一个新列中。
Dara[date_parsed]。head() #检查结果
一个
0 1965-01-02
1 1965-01-04
2 1965-01-05
3 1965-01-08
4 1965-01-09
Name: data_parsed,dtype: datetime64[ns]
处理过程中可能会出现问题:
/opt/conda/lib/python 3.6/site-packages/pandas/core/tools/date times . py in _ convert _ list like(arg,box,format,name,tz)
271 try:
272 result=array_strptime(arg,format,exact=exact,
- 273错误=错误)
274除了tslib。出站日期时间:
275如果错误==提高 :
熊猫中的pandas/_ libs/ts libs/strptime . pyx。_ libs . ts libs . strp time . array _ strp time()
ValueError:时间数据“1975-02-23t 02:58:41.000 z”与格式“%m/%d/%Y”不匹配(匹配)
经过反复核实,发现应该是原始数据有问题,有的时候数据格式有误:
例如:1965年1月02日,这是正常的时间格式,但有些时间数据是:1965年1月28日,1969年11月26日等。时间数据长度超过正常len=10。
因此,我们需要数据预处理和数据清洗。
目录
数据预处理
添加一列记录作为每行时间的长度,apply(len):传入len()函数处理日期列数据。
Data [over _ long]=data [date]。apply(len) #添加一列记录为每行时间的长度,apply(len):传入len()函数
Data.loc[data[over_long] 10] #比正常数据大的输出行数。这里漏了这么多线!
正常处理:
normal _ dates=data . loc[data[ over _ long ]11]#过滤掉正常数据
normal _ dates=normal _ dates . copy()# copy
normal _ dates[ data _ parsed ]=PD . to _ datetime(normal _ dates[ date ],format=% m/%d/%y) #再次正确转换时间。
normal _ date[ data _ parsed ]。head (10) # output查看正常的数据。
方式一
data[ Date _ parsed ]=PD . to _ datetime(data[ Date ],format=%m/%d/%Y ,errors= constrate )
错误=强制
熊猫在数据转换过程中遇到无法转换的数据。参数设置错误=强制转换为NaN
Pandas提供了一个可选的参数errors,并传入errors= compete。当Pandas遇到无法转换的数据时,它将分配NaN(不是一个数字)。
在这里,当遇到无法转换的时间数据时,Pandas将分配Nan并跳过它。
方式二
data[ Date _ parsed ]=PD . to _ datetime(data[ Date ],infer_datetime_format=True)
Infer _ datetime _ format:布尔值,默认为False
如果设置为True并且parse_dates可用,pandas将尝试转换为日期类型,如果可以,转换方法并解析。某些情况下会快5~10倍。
这里熊猫会跳过不能转换的时间数据。
方式三
环
环
关于pd.to_datetime中时间对象转换datetime的实例本文到此为止。关于pd.to_datetime转换datetime的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。