首页 > 解决方案 > Python pandas to_datetime 工作不一致:为什么月份和日期混在一起?

问题描述

使用我运行的 python pandas 包

pd.to_datetime("23.01.2019 06:50:59")

并得到预期的结果

Timestamp('2019-01-23 06:50:59')

但是,运行时

pd.to_datetime("11.01.2019 18:34:39")

日期和月份混淆了,我得到了

Timestamp('2019-11-01 18:34:39')

预期是:Timestamp('2019-01-11 18:34:39')

关于为什么会发生这种情况以及如何避免它的任何想法?谢谢!

标签: python-3.xpandasdatetime

解决方案


这是可能的使用参数dayfirst=True

print (pd.to_datetime("11.01.2019 18:34:39", dayfirst=True))
2019-01-11 18:34:39

一般解决方案是指定日期时间格式:

print (pd.to_datetime("11.01.2019 18:34:39", format='%d.%m.%Y %H:%M:%S'))
2019-01-11 18:34:39

为什么月份和日期会混淆?

因为 pandas 尝试猜测格式并MMDDYYYY具有更高的优先级,例如DDMMYYY.


推荐阅读