在DataFrame中以不同格式(对象)转换日期

时间:2018-07-08 19:49:28

标签: python python-3.x pandas python-dateutil

我是新来的,如果布局不典型,我深表歉意。

我有一个大型的csv,大约有150,000行。 “日期”列在两种格式之间交替显示,但始终以10分钟为增量增加。

First 2001-02-08 2:30:00 AM-%Y-%m-%d%I:%M:%S%p

第二个01/13/08 00:20:00-%y /%d /%m%H:%M:%

我有很多方法,一种是在读取read_csv时解析,第二种是使用pd.to_dateime。但是我一直得到错误的输出。

所附图片是

的输出
df1['Test'] = pd.to_datetime(df1['Date'],yearfirst=True)

输出中的年份不应该是2008

Output

Format1 Fortmat2

1 个答案:

答案 0 :(得分:0)

双向解析日期并组合结果:

df1['Test'] = pd.to_datetime(df['A'], format="%y/%d/%m %H:%M:%S", 
                                    errors='coerce')\
                .combine_first(pd.to_datetime(df['A']))

如果日期格式错误,则对带有选项to_datetime的第一个errors='coerce'的调用将产生NaT(“非一次性”)。这些NaT将由第二次调用to_datetime产生的值填充。