時間處理是在進行數據挖掘時很重要的一個方面,在參加比賽的時候很多比賽訓練集給的時間和你最終要提交的時間格式是不同的。
我把我遇到的一種情況總結如下:
首先,題目給的格式是2016-09-10 4:23:21,而想要你提交的格式是2016-09-10-4-2(精確到每十分鐘)。在處理時間數據的時候一般都是將時間字符串轉換成datatime對象,或者pandas的Timestamp??梢允紫劝炎址D換成一個datatime類型,然后用strftime()把datatime類型的時間轉換為需要的格式
>>from datetime import datetime >>time_str = 2016-09-10 4:23:21>>time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')# 根據字符串本身的格式進行轉換>>time.strftime('%Y-%m-%d-%H-%M')Out>>'2016-09-10-04-23'
這樣取得分鐘位,但是要求只取到分鐘的十位,可以用字符串處理的方法,去掉最后一位
>>time.strftime('%Y-%m-%d-%H-%M')[0:-1]
datetime.strptime是通過已知格式進行日期分析的最佳方式,但是每次都有編寫格式定義是很麻煩的時間,尤其是對于一些常見的日期格式(《利用Python進行數據分析》),推薦使用dateutil這個第三方包中的parser.parse方法。
>>from dateutil.parser import parse>>parse('2016-09-10 4:23:21').strftime('%Y-%m-%d-%H-%M')[0:-1]>>Out:'2016-09-10-04-2'
直接出結果!
以上這篇使用python將時間轉換為指定的格式方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答