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的净值数据接口调用示例分享
Mar 15 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python安装pil库方法及代码
Jun 25 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
appium+python adb常用命令分享
Mar 06 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
Python读取JSON数据操作实例解析
May 18 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
python遍历路径破解表单的示例
Nov 21 Python
Python 实现PS滤镜的旋涡特效
Dec 03 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+JS+rsa数据加密传输实现代码
2011/03/23 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
基于header的一些常用指令详解
2013/06/06 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
javascript 获取图片颜色
2009/04/05 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
在python里从协程返回一个值的示例
2019/02/19 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
大学自我评价
2014/02/12 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书