python 处理dataframe中的时间字段

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wshzd/article/details/77371079

       在机器学习过程中,通常会通过pandas读取csv文件,保持成dadaframe格式,然而有时候需要对dataframe中的时间字段进行数据建模,比如时间格式为datetime,那么像一般操作dataframe的方式来操作时间字段会报错的,所以在使用sklearn库进行fit和predict的时候,通常要把时间字段首先转换为timestamp格式,在fit和predict之后,如果需要matplotlib绘图的时候,再把timestamp格式转换为时间字符串,比如2017-02-01 14:25:14,下面是我处理过的一段代码,希望可以帮到童鞋们!

doc_list1 = []
for i in doc1.iloc[:,1:2].values.tolist():               # 转换成了时间戳格式
    for j in i:
        dt = time.strptime(j, "%Y-%m-%d  %H:%M:%S")
        dt_new = time.mktime(dt)
        doc_list1.append(dt_new)

doc_list2 = []
for i in doc_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 = []
for i in value:
        print(type(i.to_pydatetime().timetuple()),i)
        list.append(time.mktime(i.to_datetime().timetuple()))
print(list)





猜你喜欢

转载自blog.csdn.net/wshzd/article/details/77371079
今日推荐