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

Python中如何将DataFrame的所有列按降序排列?

解决方案

你原来的代码存在逻辑问题:循环里每次以单个列为依据对整个DataFrame排序,且每次都会覆盖descending_order变量,最后得到的只是按最后一列排序的结果——这种方式是让整个DataFrame跟着某一列的顺序走,并非实现每列独立降序排列。

下面分两种常见需求给出简洁方案:

情况1:按所有列依次作为排序键,整体降序排序

比如先按第一列降序,第一列值相同的再按第二列降序,以此类推,一行代码即可实现:

descending_order = loadings.sort_values(by=loadings.columns.tolist(), ascending=False)

情况2:让每一列独立降序排列(列内从大到小,行之间不关联)

如果想让每一列单独从大到小排序,不考虑行的对应关系,用apply处理每一列:

descending_order = loadings.apply(lambda col: col.sort_values(ascending=False).reset_index(drop=True))

其中reset_index(drop=True)用于重置排序后混乱的索引,不需要的话可以直接去掉。

内容的提问来源于stack exchange,提问作者surviving-grad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:15:42