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的Flask框架中@app.route的用法教程
Mar 31 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
Python求出0~100以内的所有素数
Jan 23 Python
Python入门必须知道的11个知识点
Mar 21 Python
python跳过第一行快速读取文件内容的实例
Jul 12 Python
Python实现简单石头剪刀布游戏
Jan 20 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
python打开使用的方法
Sep 30 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python如何控制进程或者线程的个数
Oct 16 Python
Python绘制数码晶体管日期
Feb 19 Python
一篇文章带你了解Python和Java的正则表达式对比
Sep 15 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
PHP的FTP学习(二)[转自奥索]
2006/10/09 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
php解决crontab定时任务不能写入文件问题的方法分析
2019/09/16 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
用svg制作富有动态的tooltip
2015/07/17 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
python实现斐波那契数列的方法示例
2017/01/12 Python
一看就懂得Python的math模块
2018/10/21 Python
Python创建或生成列表的操作方法
2019/06/19 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
如何在python中执行另一个py文件
2020/04/30 Python
英国著名的药妆网站:Escentual
2016/07/29 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
小学生元旦广播稿
2014/02/21 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
勇敢的心观后感
2015/06/09 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书