2017-03-02 87 views
2

將'format ='參數與pd.to_dateime()一起傳遞可以加快處理速度,因爲函數不必推斷每行的格式。 然而,使用'format ='參數不適用於AM/PM的時間。 下面的代碼:帶格式參數的pandas pd.to_datetime()給出的值不正確

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

給出:

時間戳( '2017年1月10日10點15分十七秒')

的時間應該是22:15: 17因爲原始時間有'PM' 我的代碼中是否存在一個錯誤,或者是否存在該函數的問題。 在此先感謝!

+0

我從來沒有帶AM/PM嘗試過,但我接着說:infer_datetime_format = TRUE'我'PD .to_datetime()'代碼,它顯着減少了大數據集上的處理時間。 – pshep123

回答

5

你需要%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') 
+0

工作正常!謝謝! – RukTech

+0

不客氣。很高興幫助! – Psidom