使用大型数据库和 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中文网其他相关文章!