最近無聊,想玩玩數據挖掘,就拿天池的天池新人實戰賽之[離線賽]練練手。https://tianchi.aliyun.com/getStart/information.htm?spm=5176.100067.5678.2.2b282b2bAOqNmy&raceId=231522 python
其中在處理數據時,我須要以日期爲索引,好比將前6天的數據做爲訓練集,第7天的數據做爲預測集。下圖是阿里給的數據。code
因爲咱們須要按天來統計數據,因此暫時認爲幾點購買的這個信息沒什麼用,我想去掉。要怎麼去掉呢?orm
咱們能夠看到,時間列是object類型,先對其進行轉換。htm
而後這裏有幾種方法去除時間:blog
上圖的第二句話是設置時間爲索引。索引
第二種方法:get
all_user['time'] = pd.to_datetime(all_user['time']).dt.date
這種方法很慢,請不要輕易嘗試。
或者:
all_user['time'] = pd.to_datetime(all_user['time']).dt.floor('d')
具體能夠參考:https://stackoverflow.com/questions/16176996/keep-only-date-part-when-using-pandas-to-datetime。
而後咱們就能夠分割數據爲訓練集和預測集了。
train_user = all_user['2014-11-22':'2014-11-27'] train_user_predict = all_user['2014-11-28'] valid_user = all_user['2014-11-29':'2014-12-04'] valid_user_predict = all_user['2014-12-05'] test_user = all_user['2014-12-13':'2014-12-18'] test_user_predict = all_user['2014-12-19']