我在数据框中有一个要转换为日期的列。该列的值为DDMONYYY
或DD Month YYYY 00:00:00.000 GMT
。例如,数据帧中的一行可能具有值31DEC2002
,而下一行可能具有31 December 2015 00:00:00.000 GMT
。我认为这就是为什么在尝试使用pd.to_datetime或datetime.strptime将列转换为日期时出现错误的原因。
有人有什么想法吗?对于任何帮助/指针,我将深表感谢。
答案 0 :(得分:3)
对于我来说,to_datetime
与utc=True
一起用于将所有值都转换为UTC
,而errors='coerce'
则是将不可解析的值转换为NaT
(缺少日期时间):< / p>
df = pd.DataFrame({'date':['31DEC2002','31 December 2015 00:00:00.000 GMT','.']})
df['date'] = pd.to_datetime(df['date'], utc=True, errors='coerce')
print (df)
date
0 2002-12-31 00:00:00+00:00
1 2015-12-31 00:00:00+00:00
2 NaT