从pandas中的DataFrame.sortlevel获取MemoryError

从pandas中的DataFrame.sortlevel获取MemoryError,pandas,Pandas,我试图在一个多索引(3级)的数据帧上运行sortlevel(0,0),大小约为900'000x4 >>>data.as_matrix().shape (899262, 4) >>>data.sortlevel(0,0) #<--- throws MemoryError almost instantaneous >data.as_matrix().shape (899262, 4) >>>data.sortlevel(0,0)#在ipython中使用ru

我试图在一个多索引(3级)的
数据帧上运行sortlevel(0,0),大小约为900'000x4

>>>data.as_matrix().shape
(899262, 4)
>>>data.sortlevel(0,0) #<--- throws MemoryError almost instantaneous
>data.as_matrix().shape
(899262, 4)

>>>data.sortlevel(0,0)#在ipython中使用
run filename.py
似乎有问题,出于某种原因,它在命令提示符下使用了比普通python多得多的RAM。

在某些地方,pandas在涉及多索引时,对内存使用的考虑可能不够谨慎——如果您确实发现了重现问题的案例,请将其发布到问题跟踪器上。

我也遇到过同样的内存错误问题从IPython运行模块时对大数据帧进行排序


如果您有一个64位处理器、操作系统和超过2GB的RAM,另一个解决方案是运行64位Python,您可以得到一个预先打包的64位版本的Python,就像或

看起来是个问题。数据是一组更大数据中的一部分吗?如果你做数据,你会得到什么?reset_index().sort()?不,它不应该是一个切片。data.reset_index().sort('slot')似乎有效。您能在Github上发布一个问题吗?包括操作系统、pandas版本和代码,以重现问题。由于某种原因,我无法重现它,生成的数据帧看起来基本相同,但不会产生任何问题。现在,我在添加4个数据帧之前得到MemoryError,我想我必须仔细研究一下。