日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Pandas數據集的分塊讀取的實現_python

作者:文程公子 ? 更新時間: 2022-10-03 編程語言

所謂“分塊”,顧名思義,就是將數據集分成幾塊進行讀取,比如有105條數據,一次讀取10條,讀取11次才能全部讀完。以下提供兩種分塊讀取的方法,兩種方法各有優劣。

一、直接用分塊方式讀取數據集文件(更直接)

分塊讀取數據集文件是指用read_xxx()方法讀取存儲數據的文件時采用分塊的方式,這里以.csv文件為例,在read_csv()中加入chunksize參數即可實現分塊讀取:

reader = pd.read_csv('某招聘網站數據.csv', usecols = ['positionId', 'companyId', 'positionName', 'skillLables'],
                     chunksize=10)

此時,返回的reader不是DataFrame,而是一個可迭代對象(iteration),需要注意的是,這個可迭代對象不能用下標訪問。?下面遍歷這個對象:

for r in reader:
    print(r)

遍歷結果如下圖所示:

這種分塊讀取方式比較直接,但是由于一開始就定義了分塊大小,后續處理起來不夠靈活。因此提供了第二種讀取方法。

二、先將數據集讀取為可迭代對象,再分塊讀取(更靈活)

?這種方法將數據集文件讀取為時可迭代對象不定義分塊,用分塊的方式讀取read_csv()方法返回的可迭代對象。實現第一步要在read_csv()方法中指定參數iterator為True:

reader = pd.read_csv('某招聘網站數據.csv', usecols = ['positionId', 'companyId', 'positionName'],
                    iterator=True)

以下是用分塊方式遍歷reader,注意使用到的get_chunk()方法和里面的參數,參數定義分塊大小,可以靈活調節:

while True:
    try:
        print(reader.get_chunk(10))
    except StopIteration:
        break

總結

綜上所述,兩種方法都能用pandas實現數據的分塊讀取,對于數據量較大的數據集還是比較實用的。兩種方法的優劣體現在直接性和靈活性上,可以根據實際需求自行選擇。

原文鏈接:https://blog.csdn.net/weixin_45370422/article/details/125963245

欄目分類
最近更新