如何重新索引多索引?我有两个索引,第一个索引需要手动排序,第二个索引按降序排列。
在下文中,index1需要按以下类别进行自定义排序:Cat-B、Cat-A、Cat-C;index2(按降序排列(。
Index1 Index2
Cat-A Apple
Orange
Banana
Cat-B Mango
Lychee
Cat-C Kiwi
Nectarine
至:
Index1 Index2
Cat-B Mango
Lychee
Cat-A Orange
Banana
Apple
Cat-C Nectarine
Kiwi
谢谢!
您需要pd.CategoricalIndex
,但由于这是一个方向的订单,我们需要手动反转订单。
cati = pd.CategoricalIndex(
df.index.get_level_values(0).unique(), ["Cat-C", "Cat-A", "Cat-B"], ordered=True
)
#note 'Cat-C' is first but will be last when we sort the index.
df.index = df.index.set_levels(cati,level=0)
print(df.sort_index(0,level=[0,1],ascending=False))
A
Index1 Index2
Cat-B Mango 0
Lychee 0
Cat-A Orange 0
Banana 0
Apple 0
Cat-C Nectarine 0
Kiwi 0