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编程之多态用法实例详解
May 19 Python
mac系统安装Python3初体验
Jan 02 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Python统计单词出现的次数
Apr 04 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
浅述python中深浅拷贝原理
Sep 18 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
5款Python程序员高频使用开发工具推荐
Apr 10 Python
pyinstaller参数介绍以及总结详解
Jul 12 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
python中加背景音乐如何操作
Jul 19 Python
Python 3.9的到来到底是意味着什么
Oct 14 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 CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
vue组件系列之TagsInput详解
2020/05/14 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
自荐信的两点禁忌
2013/10/30 职场文书
机工车间主任岗位职责
2014/03/05 职场文书
总经理岗位职责
2015/02/04 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript