我有一个相当大的数据集在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操作数据有任何限制吗?
答案 0 :(得分:0)
使用read_csv创建您的DataFrame,它已针对此任务进行了大量优化。
答案 1 :(得分:0)
一种方法是analyse the data in chunks。 另一种方法是加载随机的数据样本 - 我写了一篇关于此的简短文章 - https://nikolaygrozev.wordpress.com/2015/06/16/fast-and-simple-sampling-in-pandas-when-loading-data-from-files/