Подтвердить что ты не робот

Сортировка нескольких индексов в Pandas

У меня есть набор данных с многоиндексными столбцами в pandas df, который я хотел бы сортировать по значениям в определенном столбце. Я пробовал использовать sortindex и sortlevel, но не смог получить результаты, которые я ищу. Мой набор данных выглядит так:

    Group1    Group2
    A B C     A B C
1   1 0 3     2 5 7
2   5 6 9     1 0 0
3   7 0 2     0 3 5 

Я хочу отсортировать все данные и индекс по столбцу C в группе 1 в порядке убывания, чтобы мои результаты выглядели следующим образом:

    Group1    Group2
    A B C     A B C
 2  5 6 9     1 0 0
 1  1 0 3     2 5 7
 3  7 0 2     0 3 5 

Можно ли сделать этот вид со структурой, в которой находятся мои данные, или мне нужно обменивать Group1 на сторону индекса?

4b9b3361

Ответ 1

При сортировке по MultiIndex вам нужно содержать кортеж, описывающий столбец внутри списка *:

In [11]: df.sort([('Group1', 'C')], ascending=False)
Out[11]: 
  Group1       Group2      
       A  B  C      A  B  C
2      5  6  9      1  0  0
1      1  0  3      2  5  7
3      7  0  2      0  3  5

*, чтобы не путать pandas с тем, что вы хотите сортировать сначала по Group1, а затем по C.