簡體   English   中英

Pandas 數據透視表 int32 溢出

[英]Pandas pivot table int32 overflow

我目前正在嘗試使用 Pandas 的pandas.DataFrame.pivot方法創建數據透視表,但遇到了一些問題。

我擁有的 DataFrame 的形狀為(1300000, 6) 1300000 (1300000, 6) ,因此生成的數據透視表可能會非常大。 我得到的具體錯誤是:

ValueError: Unstacked DataFrame is too big, causing int32 overflow

我提出的一個(失敗的)解決方案是將 DataFrame 拆分為較小的 DataFrame,用它們創建數據透視表,然后連接這些數據透視表以創建我想要的原始大數據透視表。

問題是每個切片的數據透視表的形狀都不同,因為我正在調用df.pivot(index='col1', columns='col2')['col3']並且每列的值將是切片與切片不同。 僅供參考,我用前 100 行制作的數據透視表的大小為(62, 63)而我用原始 DataFrame 的前半部分制作的數據透視表給了我錯誤:

*** MemoryError: Unable to allocate array with shape (13218, 389275) and data type object

有沒有人知道我如何規避這個問題?

如果有人想知道我為什么堅持創建數據透視表,我目前正在與一個團隊合作,他們的整個代碼都基於假設有一個數據透視表可以使用。

嘗試分塊讀取您的數據源。

例如:read_csv 有一個屬性:chunksize。

熊貓文檔中的詳細信息: https : //pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

暫無
暫無

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

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