Python:Pandas内存错误

3 投票
2 回答
3493 浏览
提问于 2025-04-17 20:17

我有一个比较大的数据集,大约有5287657条记录和15列数据。我在尝试创建一个透视表的时候,出现了一个MemoryError 在创建数据框的时候
以下是我看到的错误信息:

File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 411, in __init__
  arrays, columns = _to_arrays(data, columns, dtype=dtype)
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 5472, in _to_arrays
  dtype=dtype)
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 5500, in _list_to_arrays
  coerce_float=coerce_float)
File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 5555, in _convert_object_array
  for arr in content]
File "inference.pyx", line 393, in pandas.lib.maybe_convert_objects (pandas\lib.c:32941)
MemoryError

请问在使用Pandas处理数据时,有没有什么限制,超过这个限制就会出现内存错误呢?

2 个回答

0

一种方法是分块分析数据。另一种方法是加载数据的随机样本——我写了一篇简短的文章来介绍这个方法——https://nikolaygrozev.wordpress.com/2015/06/16/fast-and-simple-sampling-in-pandas-when-loading-data-from-files/

0

使用 read_csv 来创建你的数据框,这个方法已经经过很多优化,非常适合这个任务。

撰写回答