带有format参数的pandas pd.to_datetime()给出了不正确的值

时间:2017-03-02 00:13:23

标签: python pandas string-to-datetime

使用pd.to_dateime()传递'format ='参数可以加快处理速度,因为函数不必推断每行的格式。 但是,使用'format ='参数不适用于AM / PM。 以下代码:

pd.to_datetime('01/10/2017 10:15:17 PM',format = '%m/%d/%Y %H:%M:%S %p')

给出:

  

时间戳('2017-01-10 10:15:17')

时间应该是22:15:17,因为原来的时间有'PM' 我的代码中是否有错误或该函数存在问题。 提前谢谢!

1 个答案:

答案 0 :(得分:6)

您需要%I(01-12)而不是%H(00-23):

pd.to_datetime('01/10/2017 10:15:17 PM',format = '%m/%d/%Y %I:%M:%S %p')
​# Timestamp('2017-01-10 22:15:17')