我在数据框下方,索引为Letter and Color
Value
Letter Color Number
a Red 1 97
Green 1 61
b Red 1 97
Green 1 98
c Red 1 91
Green 1 47
我正在尝试将其转换为以下内容,
Value
Letter Color Number
a Red 1 97
Green 1 61
c Red 1 91
Green 1 47
b Red 1 97
Green 1 98
到目前为止,我已经尝试过reorder_levels()
,但由于它只能在Letter和Color之间交换位置,因此无法正常工作。我要实现的是在索引a,b,c
之间交换位置。谁能给个提示。
答案 0 :(得分:3)
将argsort
更改为Categorical
df = df.iloc[pd.Categorical(df.index.get_level_values(0),['a','c','b']).argsort()]
Out[191]:
Value
Letter Color Number
a Red 1 97
Green 1 61
c Red 1 91
Green 1 47
b Red 1 97
Green 1 98