我正在尝试对数据帧df级别1的多索引列进行排序
accuracy
我想将级别1中的列排序为“达成的百分比和准确度”,而不是“准确度和达成的百分比”
有办法吗?
答案 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),但我们只需要排序索引。