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

Ruk*_*ech 3 python string-to-datetime pandas

使用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')
Run Code Online (Sandbox Code Playgroud)

得到:

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

时间应该是22:15:17,因为原始时间有'PM'我的代码中是否存在错误或该功能是否存在问题.提前致谢!

Psi*_*dom 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')
Run Code Online (Sandbox Code Playgroud)