簡體   English   中英

有沒有一種更快的方式來寫入或讀取/讀取大約一百萬行的熊貓數據幀

[英]is there a Faster way to write or read in/to with pandas data frame with about 1 million row

我正在嘗試對我的問題進行具體說明。 我有一個包含200多個列和100萬以上行的數據框。 我正在將其讀取或寫入到excel文件中,如果我錄制正確,則需要45分鍾以上。

df = pd.read_csv("data_file.csv", low_memory=False, header=0, delimiter = ',', na_values = ('', 'nan'))
df.to_excel('data_file.xlsx', header=0, index=False)

我的問題-無論如何,我們可以用pandas數據幀更快地讀寫文件,因為這只是一個文件示例。 我還有更多這樣的文件

兩個想法:

  • 研究Dask ,它提供了像DataFrame這樣的熊貓,它可以在多個CPU或群集之間分配大型數據集的處理。 很難說,如果您的性能純粹是IO約束的,您將在多大程度上加快速度,但是當然值得研究。 快速瀏覽一下Dask用例 ,以了解其功能。

  • 如果您要重復讀取相同的CSV輸入文件,則建議將它們轉換為HDF,因為讀取HDF比讀取等效的CSV文件快幾個數量級。 就像將文件讀入DataFrame然后使用DataFrame.to_hdf().寫回一樣簡單DataFrame.to_hdf(). 顯然,這只有在您可以一次完成一次轉換之后再在每次運行代碼時使用該點之后的HDF文件的情況下才有用。

問候,伊恩

您正在使用的文件很大。 如果您需要處理數據,那么您將無法避免漫長的讀寫時間。

不要寫xlsx,使用csv,寫xlsx會花費很長時間。 寫入csv。 我的廉價SSD筆記本電腦需要一分鍾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM