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']) # 設置索引
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'])# 設置索引
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'])# 設置索引
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'])# 設置索引
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'])# 設置索引
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'])# 設置索引
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pandas 使用apply同時處理兩列數(shù)據(jù)的方法
下面小編就為大家分享一篇pandas 使用apply同時處理兩列數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python獲取暗黑破壞神3戰(zhàn)網(wǎng)前1000命位玩家的英雄技能統(tǒng)計
這篇文章主要介紹了Python獲取暗黑3戰(zhàn)網(wǎng)前1000命位玩家的英雄技能統(tǒng)計的方法,借助urllib2模塊以類似爬蟲的機制來實現(xiàn),需要的朋友可以參考下2016-07-07
淺談python中拼接路徑os.path.join斜杠的問題
今天小編就為大家分享一篇淺談python中拼接路徑os.path.join斜杠的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python數(shù)據(jù)可視化之Matplotlib初級使用指南
Matplotlib是Python中最常用的數(shù)據(jù)可視化庫之一,它提供了豐富的圖表類型和靈活的自定義選項,能幫助我們以更直觀的方式理解數(shù)據(jù),本文將對Matplotlib的基本功能進行介紹,包括如何創(chuàng)建和自定義圖表等2023-07-07
centos 安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細教程
這篇文章主要介紹了centos-安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-02-02
np.newaxis 實現(xiàn)為 numpy.ndarray(多維數(shù)組)增加一個軸
今天小編就為大家分享一篇np.newaxis 實現(xiàn)為 numpy.ndarray(多維數(shù)組)增加一個軸,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

