如何有效處理 Pandas 中的大型 DataFrame 以避免記憶體錯誤?

Susan Sarandon
發布: 2024-10-26 01:24:28
原創
281 人瀏覽過

How can I effectively handle large DataFrames in Pandas to avoid memory errors?

Pandas - 將大型 DataFrame 切塊

大型 DataFrame 可能很難使用,尤其是在透過函數傳遞它們時。使用大型 DataFrame 時可能會出現記憶體錯誤,將它們切成較小的區塊可以幫助緩解此問題。

將 DataFrame 切成較小的區塊:

  1. 清單理解: 利用清單理解建立較小 DataFrame 的清單。
<code class="python">n = 200000  # chunk row size
list_df = [df[i:i+n] for i in range(0, df.shape[0], n)]</code>
登入後複製
  1. Numpy array_split: 利用 numpy 的 array_split 函式來拆分 DataFrame。
<code class="python">list_df = np.array_split(df, math.ceil(len(df)/n))</code>
登入後複製

要存取區塊,只需索引清單即可:

<code class="python">list_df[0]
list_df[1]
etc...</code>
登入後複製

透過AcctName 拆分DataFrame:

<code class="python">list_df = []

for n, g in df.groupby('AcctName'):
    list_df.append(g)</code>
登入後複製

拆分DataFrame後分成區塊,它可以透過函數傳遞,然後使用pd.concat 重新組裝成單一DataFrame。

以上是如何有效處理 Pandas 中的大型 DataFrame 以避免記憶體錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!