python pandas 對時間序列文件處理的實例
更新時間:2018年06月22日 10:53:47 作者:Faith_yu
今天小編就為大家分享一篇python pandas 對時間序列文件處理的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
如下所示:
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C']) # 設(shè)置索引
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C'])# 設(shè)置索引
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C'])# 設(shè)置索引
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C'])# 設(shè)置索引
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C'])# 設(shè)置索引
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']) # 轉(zhuǎn)換成時間格式
data=data.set_index(['C'])# 設(shè)置索引
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 對時間序列文件處理的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Keras畫神經(jīng)網(wǎng)絡(luò)準(zhǔn)確性圖教程
這篇文章主要介紹了使用Keras畫神經(jīng)網(wǎng)絡(luò)準(zhǔn)確性圖教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
使用Python的Django框架實現(xiàn)事務(wù)交易管理的教程
這篇文章主要介紹了使用Python的Django框架實現(xiàn)事務(wù)交易管理的教程,針對數(shù)據(jù)庫的事務(wù)行為進(jìn)行一系列操作,要的朋友可以參考下2015-04-04
Python實現(xiàn)準(zhǔn)確獲取PDF文件中的標(biāo)題
想要在PDF文件中,解析獲取全部的標(biāo)題,是一件比較麻煩的事情,這篇文章將介紹一種較為準(zhǔn)確的提取標(biāo)題的方式,感興趣的小伙伴可以了解一下2024-02-02
用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機
大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
Python調(diào)用http-post接口的實現(xiàn)方式
這篇文章主要介紹了Python調(diào)用http-post接口的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08

