Python如何在不同级别对Dataframe中的多索引列进行排序?

时间:2020-05-22 12:25:44

标签: python pandas dataframe

我正在尝试对数据帧df级别1的多索引列进行排序

accuracy

我想将级别1中的列排序为“达成的百分比和准确度”,而不是“准确度和达成的百分比”

有办法吗?

2 个答案:

答案 0 :(得分:0)

找到答案了:)

使用了sort_index

pivot = pivot.sort_index(level=1, axis=1, sort_remaining=False, ascending=False) pivot = pivot.sort_index(level=0, axis=1, sort_remaining=False, ascending=True)

Doc:https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.sortlevel.html

谢谢

答案 1 :(得分:0)

假设您的DataFrame位于 df 中,则可以使用 遵循单个说明:

df = df.reindex(columns=df.columns.sortlevel([0, 1],ascending=[True, False])[0])

您可以指定排序级别和顺序(对于给定的级别), 将列表作为相应参数传递。

尾部的[0]是必需的,因为 sortlevel 返回一个元组 (sorted_index,indexer),但我们只需要排序索引。