pandas内存错误

yaohwang
  • 7
  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 680, in runfile
    execfile(filename, namespace)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 71, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)

  File "D:/pywork/Marking/DataProcessing.py", line 113, in <module>
    df = pd.DataFrame(data, columns=colNames)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\frame.py", line 258, in __init__
    dtype=dtype)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\frame.py", line 4627, in _arrays_to_mgr
    return create_block_manager_from_arrays(arrays, arr_names, axes)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\internals.py", line 3539, in create_block_manager_from_arrays
    blocks = form_blocks(arrays, names, axes)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\internals.py", line 3614, in form_blocks
    int_blocks = _multi_blockify(int_items)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\internals.py", line 3681, in _multi_blockify
    list(tup_block), dtype)

  File "D:\WinPython-32bit-2.7.9.3\python-2.7.9\lib\site-packages\pandas\core\internals.py", line 3725, in _stack_arrays
    stacked = np.empty(shape, dtype=dtype)

MemoryError

使用pandas.DataFrame读175MB数据(111W行 X 38列),程序执行过程中报如上错误。

回复
阅读 7.2k
2 个回答

是读入错误还是计算中错误?
如果是后者,可以试试读入后 del 一些无用的 col,再计算
百万行我试过,但这么多列没试过

内存溢出,可以使用chunksize分表处理,然后写出的时候mode选择a+就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏