我不清楚sort_remaining
中sort_index()
参数的工作原理。
在下面的代码中,我认为最后两个print
输出应该是不同的。最后一个输出应保持'two', 'one', 'two', 'one'...
原始变量的arrays
顺序。
According to the documentation,sort_remaining
的工作原理如下:
如果为true,按级别和索引排序是多级的,按指定级别排序后按其他级别排序(按顺序)
但是sort_index()
似乎忽略了这个参数。
import pandas as pd
import numpy as np
arrays = [np.array(['baz', 'baz', 'qux', 'qux', 'bar', 'bar', 'foo', 'foo']),
np.array(['two', 'one', 'two', 'one', 'two', 'one', 'two', 'one'])]
s = abs(pd.Series(np.random.randn(8), index=arrays))
print(s)
> baz two 1.184898
> one 0.277570
> qux two 0.904124
> one 0.930612
> bar two 0.952764
> one 0.025261
> foo two 0.084330
> one 2.842760
> dtype: float64
print(s.sort_index(level=0, sort_remaining=True))
> bar one 0.025261
> two 0.952764
> baz one 0.277570
> two 1.184898
> foo one 2.842760
> two 0.084330
> qux one 0.930612
> two 0.904124
> dtype: float64
print(s.sort_index(level=0, sort_remaining=False))
> bar one 0.025261
> two 0.952764
> baz one 0.277570
> two 1.184898
> foo one 2.842760
> two 0.084330
> qux one 0.930612
> two 0.904124
> dtype: float64
我的数据框不是多索引,足以使sort_remaining
产生影响吗?