我有一个带有列多索引的DataFrame,由于我想一次绘制多个箱形图,所以它是从unstack操作中获取的。
该多索引的第二级是分类(r),其定义顺序与字母顺序不同。
dh2.sort_index(axis=1,level=['P','r'],inplace=True)
在未堆叠的DataFrame上选择方框图x轴的顺序,r
值按字母顺序排序,因此顺序错误!
如何获得正确的订单?
答案 0 :(得分:0)
让我们假设您想要的类别顺序为['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