【发布时间】:2017-01-12 13:59:33
【问题描述】:
我有以下数据框:
x y
a b c a b c
kk ii jj kk jj ii kk jj ii ii jj kk jj kk ii kk ii jj
1 .1 .01 2 .5 .2 .4 .6 .01 .3 .5 .7 1. 1. 2 .3 .2 .01 .4
2 .5 .01 2 3 .1 4 .3 .1 .01 .02 2 1 5 .7 .3 2 4.5 2.
3 .01 .1 .4 .1 .5 .2 3 .6 1 3 .2 3 .2 1 1 .5 .2 1
我想要的是:
x y
a b c a b c
ii kk jj ii kk jj ii kk jj ii kk jj ii kk jj ii kk jj
1 .01 .1 2 .4 .5 .2 .3 .6 .01 .5 1 .7 .3 2 1. 0.01 .2 .4
2 0.1 .5 2 4 3 .1 .01 .3 .1 .02 1 2 .3 7 5 4.5 2 2
3 .1 .01 .4 .2 .1 .5 1 3 .6 3 3 .2 1 1 .2 .2 .5 1
其实目的是根据df['1']['x']['a']对整个dataframe进行排序。
我得到了排序的新索引,但不知道如何根据new_idx重新索引df?
df_sort = df.loc['1']['x']['a'].sort_values(axis=0)
new_idx = df_sort.index --> new_idx = (['ii','kk','jj'])
【问题讨论】:
标签: python sorting pandas dataframe multi-index