python 处理dataframe中的时间字段方法
在机器学习过程中,通常会通过pandas读取csv文件,保持成dadaframe格式,然而有时候需要对dataframe中的时间字段进行数据建模,比如时间格式为datetime,那么像一般操作dataframe的方式来操作时间字段会报错的,所以在使用sklearn库进行fit和predict的时候,通常要把时间字段首先转换为timestamp格式,在fit和predict之后,如果需要matplotlib绘图的时候,再把timestamp格式转换为时间字符串,比如2017-02-0114:25:14。
下面是我处理过的一段代码,希望可以帮到童鞋们!
doc_list1=[] foriindoc1.iloc[:,1:2].values.tolist():#转换成了时间戳格式 forjini: dt=time.strptime(j,"%Y-%m-%d%H:%M:%S") dt_new=time.mktime(dt) doc_list1.append(dt_new) doc_list2=[] foriindoc_list1: time_local=time.localtime(i) dt=time.strftime("%Y-%m-%d%H:%M:%S",time_local) dt1=datetime.datetime.strptime(dt,"%Y-%m-%d%H:%M:%S") doc_list2.append(dt1)
X1=np.mat(doc_list1).T y1=test_target1001 clf=AdaBoostRegressor(DecisionTreeRegressor(max_depth=5),n_estimators=1000,random_state=rng) clf.fit(X1,y1) yhat1=clf.predict(X1)
补充一下:如果value不是datetime格式还需要进行转换
value=result.iloc[:,1] list=[] foriinvalue: print(type(i.to_pydatetime().timetuple()),i) list.append(time.mktime(i.to_datetime().timetuple())) print(list)
以上这篇python处理dataframe中的时间字段方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。