我遇到的情況是:把數(shù)據(jù)按一定的時間段提出。比如提出每天6:00-8:00的每個數(shù)據(jù),可以這樣做:
# -*-coding: utf-8 -*- import pandas as pd import datetime #讀取csv文件 df=pd.read_csv('A_2+20+DoW+VC.csv') #求'ave_time'這一列的平均值 aveTime=df['ave_time'].mean() #把ave_time這列的缺失值進進行填充,填充的方法是按這一列的平均值進行填充 df2=df.fillna(aveTime) # 把處理過的這一列的數(shù)據(jù)取出來 col=df2.iloc[:,2] #因為col帶有index值和values值,真正需要的值就是values,取出來的值是Series的類型 arrs=col.values #取出df2的時間序列的那一列 col.index=df2.iloc[:,1] #把index處理為datetime格式 col.index=pd.to_datetime(col.index,unit='ns') #把col分為以天為單位的時間序列,目的是計算這個列有多少天 dcol=col.resample('D').mean() #n就是多少天 n=dcol.count() #創(chuàng)建時間序列,目的是把每天的6::0-8:00 | 8:00-10:00 | 15::00-17:00 |17:00-19:00|的行車平均時間取出來 f=open('3.txt','w+') p=pd.date_range('19/7/2016 6:20',periods=n) for i in p: j=i+datetime.timedelta(minutes=100) values=col[i:j].values count=0 for temp in values: count+=1 print >> f,temp, if(count%6==0): print >> f f.close()