2016-10-21 92 views
0

我有一個數據幀列滿日期時間類型的格式爲如何轉換python中不尋常的24小時日期時間格式?

2016Oct03:14:38:33 

眼下,數據幀的這一列的數據類型爲String。我想將它轉換爲日期時間,以便能夠執行一些數字操作,如減法。我曾嘗試在使用pd.to_datetime時指定格式,但由於時間是24小時格式,因此會引發錯誤。做這個的最好方式是什麼?提前致謝!

回答

1

你需要to_datetime與參數format

df = pd.DataFrame({'dates':['2016Oct03:14:38:33', 
          '2016Oct03:14:38:33', 
          '2016Oct03:14:38:33']}) 

print (df) 
       dates 
0 2016Oct03:14:38:33 
1 2016Oct03:14:38:33 
2 2016Oct03:14:38:33 

df.dates = pd.to_datetime(df.dates, format='%Y%b%d:%H:%M:%S') 
print (df) 
       dates 
0 2016-10-03 14:38:33 
1 2016-10-03 14:38:33 
2 2016-10-03 14:38:33 
4

關於時間格式似乎沒有什麼不尋常的地方; 24小時絕對標準。

只是正常的strptime是好的:

datetime.strptime(my_date, '%Y%b%d:%H:%M:%S') 
0

重複的問題

使用datetime.strptime

例:

from datetime import datetime 

date_object = datetime.strptime('2016Oct03:14:38:33', '%Y%b%d:%H:%M:%S') 

文件:https://docs.python.org/2/library/datetime.html

+0

這本來是更好,如果你提供的是使用的日期格式的用戶樣本的例子。 –

相關問題