我遇到的情况是:把数据按一定的时间段提出。比如提出每天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()
数据的类型如图:
运行结果:
以上这篇pandas 把数据写入txt文件每行固定写入一定数量的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 我知道熊猫有,但是有类似的东西吗?我正在寻找对字段宽度,数值精度和字符串对齐的支持。似乎没有做到这一点。 可以,但是我不想做: 那似乎是错误的。非常感谢您的想法。 问题答案: 除非有人在熊猫中实现此功能,否则您可以使用制表包:
问题内容: 如何将一小段文字写入文件?我已经使用Google搜索了3-4多个小时,但无法找到具体方法。 有很多论据,我不知道该如何使用。 当您只想在文件中写一个名字和几个数字时,最容易使用的功能是什么? 编辑:添加了一段我的代码。 问题答案:
问题内容: 我想创建一个简单的日志系统,该日志系统使用Node.js将前一行之前的一行打印到txt文件中,但是我不知道Node.js中的文件系统如何工作。有人可以解释吗? 问题答案: 将数据插入文本文件的中间不是一件容易的事。如果可能,应将其附加到文件末尾。 将数据追加到一些文本文件的最简单方法是使用来自模块的内置函数: 但是,如果您想多次将数据写入日志文件,那么最好改用function: 每次您
我在pandas中有一个数据帧,我想把它写到CSV文件中。我使用的是: 并得到错误: 有没有什么方法可以很容易地解决这个问题(例如,我的数据帧中有unicode字符)?还有,有没有一种方法可以使用“to-tab”方法(我认为不存在)写入以制表符分隔的文件,而不是CSV?
我试图从查询字符串中获取一个变量,并将其写入文本文件。我试过这样做: 我得到以下错误: 警告:fopen(etlLOG.txt)[function.fopen]:无法打开流:在E:\Users\george\listener中的权限被拒绝。php第8行 警告:f写():在第9行的E:\用户\乔治\listener.php中,提供的参数不是有效的流资源 警告:fclose():提供的参数不是E:\U
问题内容: 我正在编写一个脚本,该脚本读取输入文件,获取值并需要在输出模板的特定位置(行)写入,我绝对是菜鸟,无法做到。它要么写在输出的第一行,要么写在最后一行。 打开的文件为“ r +” 使用的file.write(xyz)命令 关于如何向python解释以写入特定行的说法,例如。第17行(输出模板中的空白行) 编辑: 问题答案: 您可以读取文件,然后写入某些特定行。