Python 熊猫排序的内存占用更小?

Python 熊猫排序的内存占用更小?,python,pandas,Python,Pandas,我有一个大熊猫系列(5000万以上),我需要用32位Python进行排序,但在排序过程中我得到了一个MemoryError。熊猫的排序算法似乎在排序过程中生成了几个临时数组。我知道我可以使用numpy的排序算法来代替,但是熊猫API中是否有一种可以使用的、内存占用更小的排序算法 2个可能性 1) 这本质上是sort所做的,但不使用临时变量(注意,如果您在任何地方都有NaN,这将不起作用) 2) 这尚未实现,但您可以写入HDFStore表;有一个readSorted方法可以按排序顺序将其读回。尝试

我有一个大熊猫系列(5000万以上),我需要用32位Python进行排序,但在排序过程中我得到了一个MemoryError。熊猫的排序算法似乎在排序过程中生成了几个临时数组。我知道我可以使用numpy的排序算法来代替,但是熊猫API中是否有一种可以使用的、内存占用更小的排序算法

2个可能性

1) 这本质上是sort所做的,但不使用临时变量(注意,如果您在任何地方都有NaN,这将不起作用)

2) 这尚未实现,但您可以写入HDFStore表;有一个readSorted方法可以按排序顺序将其读回。尝试方法1),如果这不起作用,那么我可以给你一个小脚本来做这件事,我认为有两种可能性

1) 这本质上是sort所做的,但不使用临时变量(注意,如果您在任何地方都有NaN,这将不起作用)


2) 这尚未实现,但您可以写入HDFStore表;有一个readSorted方法可以按排序顺序将其读回。尝试方法1),如果这不起作用,那么我可以给你一个小脚本来做这件事,我想

谢谢不用写小scipt,我能做。谢谢不用写小scipt,我能做。
In [1]: s = Series(np.random.rand(10))

In [3]: np.argsort(s.values)
Out[3]: array([8, 0, 1, 3, 9, 6, 2, 7, 5, 4])

In [4]: s[np.argsort(s.values)]
Out[4]: 
8    0.033948
0    0.183882
1    0.236021
3    0.372763
9    0.383721
6    0.489090
2    0.498036
7    0.676246
5    0.709906
4    0.738510
dtype: float64