我有一個數據幀列滿日期時間類型的格式爲如何轉換python中不尋常的24小時日期時間格式?
2016Oct03:14:38:33
眼下,數據幀的這一列的數據類型爲String。我想將它轉換爲日期時間,以便能夠執行一些數字操作,如減法。我曾嘗試在使用pd.to_datetime時指定格式,但由於時間是24小時格式,因此會引發錯誤。做這個的最好方式是什麼?提前致謝!
我有一個數據幀列滿日期時間類型的格式爲如何轉換python中不尋常的24小時日期時間格式?
2016Oct03:14:38:33
眼下,數據幀的這一列的數據類型爲String。我想將它轉換爲日期時間,以便能夠執行一些數字操作,如減法。我曾嘗試在使用pd.to_datetime時指定格式,但由於時間是24小時格式,因此會引發錯誤。做這個的最好方式是什麼?提前致謝!
你需要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
關於時間格式似乎沒有什麼不尋常的地方; 24小時絕對標準。
只是正常的strptime是好的:
datetime.strptime(my_date, '%Y%b%d:%H:%M:%S')
重複的問題
使用datetime.strptime
例:
from datetime import datetime
date_object = datetime.strptime('2016Oct03:14:38:33', '%Y%b%d:%H:%M:%S')
這本來是更好,如果你提供的是使用的日期格式的用戶樣本的例子。 –