python pandas 對(duì)時(shí)間序列文件處理的實(shí)例
如下所示:
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)換成時(shí)間格式
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)換成時(shí)間格式
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)換成時(shí)間格式
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)換成時(shí)間格式
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)換成時(shí)間格式
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)換成時(shí)間格式
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 對(duì)時(shí)間序列文件處理的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Keras畫神經(jīng)網(wǎng)絡(luò)準(zhǔn)確性圖教程
這篇文章主要介紹了使用Keras畫神經(jīng)網(wǎng)絡(luò)準(zhǔn)確性圖教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
使用Python的Django框架實(shí)現(xiàn)事務(wù)交易管理的教程
這篇文章主要介紹了使用Python的Django框架實(shí)現(xiàn)事務(wù)交易管理的教程,針對(duì)數(shù)據(jù)庫(kù)的事務(wù)行為進(jìn)行一系列操作,要的朋友可以參考下2015-04-04
Python自動(dòng)化測(cè)試selenium指定截圖文件名方法
這篇文章主要介紹了Python自動(dòng)化測(cè)試selenium指定截圖文件名方法,Selenium?支持?Web?瀏覽器的自動(dòng)化,它提供一套測(cè)試函數(shù),用于支持?Web?自動(dòng)化測(cè)試,下文基于python實(shí)現(xiàn)指定截圖文件名方法,需要的小伙伴可以參考一下2022-05-05
Python實(shí)現(xiàn)準(zhǔn)確獲取PDF文件中的標(biāo)題
想要在PDF文件中,解析獲取全部的標(biāo)題,是一件比較麻煩的事情,這篇文章將介紹一種較為準(zhǔn)確的提取標(biāo)題的方式,感興趣的小伙伴可以了解一下2024-02-02
Django項(xiàng)目如何給數(shù)據(jù)庫(kù)添加約束
這篇文章主要介紹了Django項(xiàng)目如何給數(shù)據(jù)庫(kù)添加約束,幫助大家更好的理解和學(xué)習(xí)使用Django框架,感興趣的朋友可以了解下2021-04-04
用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī)
大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01
Python調(diào)用http-post接口的實(shí)現(xiàn)方式
這篇文章主要介紹了Python調(diào)用http-post接口的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

