1. 程式人生 > >【python 處理億級資料】使用 Pandas 處理億級資料

【python 處理億級資料】使用 Pandas 處理億級資料

此前有一篇文章《別老扯什麼Hadoop了,你的資料根本不夠大》指出:只有在超過5TB資料量的規模下,Hadoop才是一個合理的技術選擇。事實確實如此,在資料分析領域,那麼如何處理億級資料呢,pandas提供了IO工具可以將大檔案分塊讀取,測試了一下效能,非常不錯。可謂是瑞士中的軍刀

python 讀取億級資料程式碼如下:

# encoding: utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
import pandas as pd

time1=time.time()
import pandas as
pd # Pandas提供了IO工具可以將大檔案分塊讀取 # 使用不同分塊大小來讀取再呼叫 pandas.concat 連線DataFrame,chunkSize設定在1000萬條左右速度優化比較明顯。 # 實驗結果足以說明,在非">5TB"資料的情況下,Python的表現已經能讓擅長使用統計分析語言的資料分析師遊刃有餘。 reader = pd.read_csv('C:/taobao/22.csv', iterator=True) loop = True chunkSize =10000000 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) print df time2=time.time() print u'總共耗時:' + str(time2 - time1) + 's'