3

我有一个相当大的数据集,大约 5287657,大约有 15 列。我试图创建一个数据透视表,它MemoryError 在尝试创建 DataFrame 时给了我一个。
以下是我看到的错误消息:

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 操作的数据是否有任何限制?

4

2 回答 2

0

使用read_csv创建您的 DataFrame,它已针对此任务进行了大量优化。

于 2013-03-28T01:23:21.453 回答
0

一种方法是分块分析数据。另一种方法是加载数据的随机样本 - 我已经写了一篇关于此的简短文章 - https://nikolaygrozev.wordpress.com/2015/06/16/fast-and-simple-sampling-in-pandas-何时从文件加载数据/

于 2015-06-16T04:14:43.280 回答