pandas 把数据写入txt文件每行固定写入一定数量的值方法
我遇到的情况是:把数据按一定的时间段提出。比如提出每天6:00-8:00的每个数据,可以这样做:
# -*-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) # 把处理过的这一列的数据取出来 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() #创建时间序列,目的是把每天的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()
数据的类型如图:
运行结果: