You need to enable JavaScript to run this app. 如何在PANDAS中修改默认列顺序,将尺寸列调整为S、M、L、XL顺序?
优惠活动
大模型
产品
解决方案
定价
更多

如何在PANDAS中修改默认列顺序,将尺寸列调整为S、M、L、XL顺序?

解决方法

你可以选择以下两种方案实现需求:

方案1:unstack后手动重排列(操作简单,适合临时需求)

在你现有代码后新增如下代码,直接按指定顺序重新选取列即可:

# 定义期望的尺寸顺序
size_order = ['S', 'M', 'L', 'XL']
# 按固定顺序重排列
dff = dff[['COD', 'COLOUR'] + size_order]

方案2:将SIZE列设为有序分类类型(规范写法,适合长期复用)

在分组聚合前先指定SIZE列的排序规则,后续所有涉及SIZE列的分组、排序、展开操作都会自动遵循指定顺序,无需后续手动调整:

df = pd.DataFrame(table_rows,columns=('COD','COLOUR','SIZE','')).sort_values(by=['COD'])
# 新增:定义尺寸顺序并将SIZE列转为有序分类类型
size_order = ['S', 'M', 'L', 'XL']
df['SIZE'] = pd.Categorical(df['SIZE'], categories=size_order, ordered=True)
# 原有聚合逻辑
dff = df.groupby(['COD','COLOUR','SIZE']).sum().unstack(fill_value=0).reset_index()
# 可选:如果unstack后出现多级列名,可执行下方代码拉平列名
dff.columns = ['COD', 'COLOUR'] + size_order

执行后即可得到你期望的列排序结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 17:36:06