使用大型資料庫和 Pandas DataFrame 時管理記憶體
處理大型資料庫並將其直接載入 Pandas DataFrame 通常會導致記憶體錯誤。 雖然較小的查詢可能有效,但超過系統記憶體容量會導致問題。 幸運的是,Pandas 提供了處理此類資料集的有效解決方案。
區塊大小迭代器方法
與處理大型 CSV 檔案類似,Pandas 的 read_sql
函數提供 iterator
和 chunksize
參數。設定 iterator=True
並指定 chunksize
允許以可管理的部分處理資料庫查詢。
程式碼範例:
<code class="language-python">import pandas as pd sql = "SELECT * FROM MyTable" chunksize = 10000 # Adjust as needed for chunk in pd.read_sql_query(sql, engine, chunksize=chunksize): # Process each chunk individually</code>
這種迭代方法透過以較小的受控增量處理資料來防止記憶體過載。
處理非常大資料集的其他策略
如果 chunksize 方法不夠,請考慮以下替代方法:
以上是從資料庫建立大型 Pandas DataFrame 時如何避免記憶體錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!