You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何手动对Pandas多级索引DataFrame的索引执行自定义排序

解决方法

你可以通过手动指定月份排序顺序实现需求,两种常用实现方式如下:

方法1:通过reindex直接重排(最简便)

直接按你需要的月份顺序构造列表,调用reindex方法即可:

import pandas as pd

# 1. 手动指定你需要的月份顺序
month_order = ['January', 'August', 'September', 'October', 'November', 'December']
# 2. 直接按指定顺序重排DataFrame
df_sorted = df.reindex(month_order)

方法2:将索引转为有序分类类型(适合后续需要多次按月份排序的场景

如果后续你还需要对该DataFrame执行多次按月份排序的操作,可以将索引转为带顺序匹配的分类类型:

import pandas as pd

month_order = ['January', 'August', 'September', 'October', 'November', 'December']
# 将索引转为有序分类,指定排序规则
df.index = pd.Categorical(df.index, categories=month_order, ordered=True)
# 直接按索引排序即可得到目标结果
df_sorted = df.sort_index()

两种方法输出的结果都和你期望的排序结果完全一致。

内容的提问来源于stack exchange,提问作者user14618562

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:54:02