使用混合日期格式处理Pandas数据帧列

时间:2014-11-14 00:14:50

标签: python datetime csv pandas

我已经导入了一个混合数据格式的CSV文件 - 一些由read_csv识别的日期格式,以及一些Excel serial-datetime格式(例如41,866.321)。

导入数据后,列类型显示为对象(给定不同类型的数据),日期(两种格式)都有dtype字符串。

我想使用to_datetime方法将识别的字符串日期格式转换为数据帧列中的日期时间,将未识别的字符串保留为excel格式,然后我可以隔离并离线校正。但除非我逐行应用该方法(方式太慢),否则无法执行此操作。

有没有人有更聪明的方法解决这个问题?

更新:我已经找到了更多的解决方案,我找到了这个解决方案,使用coerce = True强制列数据类型转换,然后识别空值,我可以交叉引用回原始文件。但如果有更好的方法(例如修复无法识别的时间戳),请告诉我。

df1['DateTime']=pd.to_datetime(df1['Time_Date'],coerce=True)
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]

1 个答案:

答案 0 :(得分:5)

我已经找到了更多的解决方案,我找到了这个解决方案,使用coerce = True强制进行列数据类型转换,然后识别空值,我可以交叉引用回原始文件。但如果有更好的方法(例如修复无法识别的时间戳),请告诉我。

df1['DateTime']=pd.to_datetime(df1['Time_Date'], errors='coerce')
nulls=df1['Time_Date'][df1['Time_Date'].notnull()==False]