pandas 把数据写入txt文件每行固定写入一定数量的值方法

yipeiwu_com6年前Python基础

我遇到的情况是:把数据按一定的时间段提出。比如提出每天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文件每行固定写入一定数量的值

运行结果:

pandas 把数据写入txt文件每行固定写入一定数量的值

以上这篇pandas 把数据写入txt文件每行固定写入一定数量的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python ipset管理 增删白名单的方法

为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理 #!/usr/bin/env python # coding: utf-8 import MySQLdb...

Python中列表和元组的相关语句和方法讲解

列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数—— list(iter):把可迭代对象转换为列表。 str(obj):把obj对象转换为字符串,即用字符串来表示这...

Django框架中方法的访问和查找

在 Django 模板中遍历复杂数据结构的关键是句点字符 (.)。 最好是用几个例子来说明一下。 比如,假设你要向模板传递一个 Python 字典。 要通过字典键访问该字典的值,可使用一...

对Python通过pypyodbc访问Access数据库的方法详解

对Python通过pypyodbc访问Access数据库的方法详解

看书上通过ODBC访问数据库的案例,想实践一下在Python 3.6.1中实现access2003数据库的链接,但是在导入odbc模块的时候出现了问题,后来查了一些资料就尝试着使用pyp...

python 实现目录复制的三种小结

复制目录: 包含多层子目录 方法: 递归, 深度遍历,广度遍历 深度遍历&广度遍历: 思路: 1.获得源目录子级目录,并设置目标目录的子级路径 1.1在此就创建两个栈(或者队列),将原目...