如何在Pandas数据透视表中按指定顺序排序列
解决Pandas透视表列匹配行指定顺序的问题
快速解决方案
你的行索引已经是目标顺序(Orange、Mango、Apple、Banana),直接用行索引重新排列列就能实现需求:
# 创建透视表后,对齐列与行的顺序 pivot = final_df.groupby(['Fruit A','Fruit B'], sort=False)['Similarity Score'].sum().unstack('Fruit B') pivot = pivot[pivot.index]
原代码未生效的原因
你使用的groupby(sort=False)仅能保证分组顺序和数据中Fruit A、Fruit B的出现顺序一致,但unstack()方法默认会将展开的列按字母顺序排序,所以最终列顺序还是变成了Apple、Orange、Mango、Banana。
手动指定顺序的替代方案
如果提前明确目标列顺序,也可以直接用列表指定重排:
target_order = ['Orange', 'Mango', 'Apple', 'Banana'] pivot = pivot[target_order]
内容的提问来源于stack exchange,提问作者Jasmine Koh
相关产品推荐
相关产品推荐

