python pandas 对时间序列文件处理的实例


Posted in Python onJune 22, 2018

如下所示:

import pandas as pd
from numpy import *
import matplotlib.pylab as plt
import copy

def read(filename):
 dat=pd.read_csv(filename,iterator=True)
 loop = True
 chunkSize = 1000000
 R=[]
 while loop:
  try:
   data = dat.get_chunk(chunkSize)
   data=data.loc[:,'B':'C'] # 切片
   data=data[data.B==855]  #条件选择
   data['C']=pd.to_datetime(data['C']) # 转换成时间格式
   data=data.set_index(['C'])    # 设置索引
   data.loc[:,'D']=array([1]*len(data)) #增加一列
   data=data.resample('D').sum() #按天求和
   data=data.loc[:,'D'] #截取
   data.fillna(0) #填充缺失值
   R.append(data)
  except StopIteration:
   loop = False
   print ("Iteration is stopped.")
 R.to_csv('855_pay.csv') # 保存

def read2(filename):
 reader=pd.read_csv(filename,iterator=True)
 loop = True
 chunkSize = 100000
 chunks = []
 while loop:
  try:
   chunk = reader.get_chunk(chunkSize)
   chunks.append(chunk)
  except StopIteration:
   loop = False
   print ("Iteration is stopped.")
 df = pd.concat(chunks, ignore_index=True)
 return df

def read3save(filename):
 dat=pd.read_csv(filename)
 #data = dat.get_chunk(chunkSize)
 data=dat.loc[:,'B':'C'] # 切片
 data=data[data.B==855]#条件选择
 print(shape(data))
 data['C']=pd.to_datetime(data['C']) # 转换成时间格式
 data=data.set_index(['C'])# 设置索引
 if len(data)==0:
  return
 data.loc[:,'D']=array([1]*len(data)) #增加一列
 data=data.resample('D').sum() #按天求和
 data=data.loc[:,'D'] #截取
 data.fillna(0) #填充缺失值
 data.to_csv('855_pay.csv',mode='a') # 保存

def loadDataSet(fileName, delim='\t'):
 fr = open(fileName)
 stringArr = [line.strip().split(delim) for line in fr.readlines()]
 datArr = [list(map(float,line)) for line in stringArr]
 return mat(datArr)

def getShopData():
 fr = open('shopInfo.txt')
 shopID = [line.strip().split('\n') for line in fr.readlines()]
 # datArr = [list(map(float,line))for line in stringArr]
 for i in range(1,9):
  name="user_pay.001.00%d"%i
  dat=pd.read_csv(name)
  #data = dat.get_chunk(chunkSize)
  data=dat.loc[:,'B':'C'] # 切片
  for factor in shopID:
   data=data[data.B==int(str(factor[0]))]#条件选择
   print(shape(data))
   if len(data)==0: continue
   data['C']=pd.to_datetime(data['C']) # 转换成时间格式
   data=data.set_index(['C'])# 设置索引
   data.loc[:,'D']=array([1]*len(data)) #增加一列
   data=data.resample('D').sum() #按天求和
   data=data.loc[:,'D'] #截取
   data.fillna(0) #填充缺失值
   s=str(factor[0])
   savename='D:\python\data\%s_pay.csv'%s
   data.to_csv(savename,mode='a') # 保存
   del dat
 print("over")

def tset(filename):
 dat=pd.read_csv(filename)
 #data = dat.get_chunk(chunkSize)
 data=dat.loc[:,'B':'C'] # 切片
 data=data[data.B==855]#条件选择
 print(shape(data))
 data['C']=pd.to_datetime(data['C']) # 转换成时间格式
 data=data.set_index(['C'])# 设置索引
 if len(data)==0:
  return
 data.loc[:,'D']=array([1]*len(data)) #增加一列
 data=data.resample('D').sum() #按天求和
 data=data.loc[:,'D'] #截取
 data.fillna(0) #填充缺失值
 #data.to_csv('855_pay.csv',mode='a') # 保存
 s='my'
 savename='D:\python\data\%s_pay.csv'%s
 data.to_csv(savename,mode='a') # 保存
  
def getShopData2(filename):
  import csv
 # fr = open('shopInfo.txt')
  # shopID = [line.strip().split('\n') for line in fr.readlines()]
 # datArr = [list(map(float,line))for line in stringArr]
 #for i in range(1,9):
 #name="user_pay.001.00%d"%i
  dat=pd.read_csv(filename)
  #data = dat.get_chunk(chunkSize)
  data=dat.loc[:,'B':'C'] # 切片
  data['C']=pd.to_datetime(data['C']) # 转换成时间格式
  data=data.set_index(['C'])# 设置索引
  data.loc[:,'D']=array([1]*len(data)) #增加一列
  for i in range(1,2001):
   d=copy.copy(data)
   d=d[data.B==i]#条件选择
   #print(shape(d))
   print(i)
   if len(d)==0: continue
   d=d.resample('D').sum() #按天求和
   d=d.loc[:,'D'] #截取
   d.fillna(0) #填充缺失值
   s=str(i)
   #print(s)
   savename='D:\python\data2\%s_pay.csv'%s
   c=open(savename,'a')
   writer=csv.writer(c)
   writer.writerow(['C','D'])
   c.close()
   d.to_csv(savename,mode='a') # 保存
   # del dat
   print("over")
def formatData():
  #fr = open('shopInfo.txt')
  #shopID = [line.strip().split('\n') for line in fr.readlines()]
 # datArr = [list(map(float,line))for line in stringArr]
  #data = dat.get_chunk(chunkSize)
  for i in range(1,2001):
   s=str(i)
   print(s)
   name='D:\python\data2\%s_pay.csv'%s
   dat=pd.read_csv(name)
   data['C']=pd.to_datetime(data['C']) # 转换成时间格式
   data=data.set_index(['C'])# 设置索引
   data=data.resample('D').sum() #按天求和
   data.fillna(0) #填充缺失值
   savename='D:\python\data3\%s_pay.csv'%s
   data.to_csv(savename,mode='w') # 保存
   del dat
   print("over")

以上这篇python pandas 对时间序列文件处理的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python lxml模块安装教程
Jun 02 Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
python 画三维图像 曲面图和散点图的示例
Dec 29 Python
python把转列表为集合的方法
Jun 28 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
Django ORM 查询表中某列字段值的方法
Apr 30 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 Python
什么是python的id函数
Jun 11 Python
Python读写压缩文件的方法
Jul 30 Python
如何通过python检查文件是否被占用
Dec 18 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 Python
python使用turtle绘制分形树
Jun 22 #Python
python递归函数绘制分形树的方法
Jun 22 #Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 #Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 #Python
python处理csv中的空值方法
Jun 22 #Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 #Python
关于python2 csv写入空白行的问题
Jun 22 #Python
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
PHP的分页功能
2007/03/21 PHP
PHP PDO函数库详解
2010/04/27 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
php中动态变量用法实例
2015/06/10 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
vue-router跳转时打开新页面的两种方法
2019/07/29 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Python中一行和多行import模块问题
2018/04/01 Python
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
中专生毕业自我鉴定
2013/11/01 职场文书
光盘行动倡议书
2014/02/02 职场文书
应聘教师自荐书
2014/06/16 职场文书
小学三年级作文之写景
2019/11/05 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server