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