Можно ли установить порядок индекса по нескольким столбцам? - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть DataFrame с многоиндексным столбцом, который я получаю из операции unstack, так как хочу построить несколько боксов одновременно.

Второй уровень этого мультииндекса является категориальным (r), с определенным порядком и отличным от алфавитного порядка.Когда я выполняю

dh2.sort_index(axis=1,level=['P','r'],inplace=True)

на несоставленном фрейме данных, чтобы выбрать порядок оси X прямоугольной диаграммы, значения r сортируются по алфавиту и, следовательно, в неправильном порядке!

Какя могу получить правильный заказ?

1 Ответ

0 голосов
/ 08 декабря 2018

Предположим, что порядок категорий, который вы хотите, составляет ['a','c','b']:

import pandas as pd
t = pd.DataFrame(data={'P':[0,1,2], 
                       'r':['a','c','b'],
                       'x':[1.,2.,3.]})
t['r'] = t['r'].astype('category', ordered=True, categories=['a','c','b'])
t.set_index(['P','r'], inplace=True)
t.sort_index(inplace=True)
     x
P r     
a 0  1.0
c 1  2.0
b 2  3.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...