多索引重新索引-自定义排序



如何重新索引多索引?我有两个索引,第一个索引需要手动排序,第二个索引按降序排列。

在下文中,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

相关内容

  • 没有找到相关文章

最新更新