时间:2021-05-22
如下所示:
import pandas as pdfrom numpy import *import matplotlib.pylab as pltimport copydef 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 dfdef 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 对时间序列文件处理的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Pandas提供了便捷的方式对时间序列进行重采样,根据时间粒度的变大或者变小分为降采样和升采样:降采样:时间粒度变大。例如,原来是按天统计的数据,现在变成按周统
我们会经常遇到对时间的处理,用python来进行时间处理简直不要太方便了,这一期就给大家介绍一下python的时间处理!用python进行时间处理主要会用到ti
时间序列对象:变量随着时间变化时间序列的回归函数(例如ar或arima)通常以时间序列作为参数许多绘图函数都有针对时间序列对象的特殊方法ts函数创建时间序列对象
如果你的Linux系统时区配置不正确,必需要手动调整到正确的当地时区。NTP对时间的同步处理只计算当地时间与UTC时间的偏移量,因此配置一个NTP对时间进行同步
摘要在上一篇文章,时间日期处理的入门里面,我们简单介绍了一下载pandas里对时间日期的简单操作。下面将补充一些常用方法。时间日期的比较假设我们有数据集df如下