You need to enable JavaScript to run this app. 如何不使用if条件按值对dataframe的14列非行式降序原位排序
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用if条件按值对dataframe的14列非行式降序原位排序

实现代码

直接用pandas自带的排序方法即可满足所有要求,全程不改动行顺序、不新增列、支持原位修改:

import pandas as pd

# 示例数据初始化
col_name = ['Atelectasis', 'Cardiomegaly', 'Consolidation', 'Edema', 'Effusion', 'Emphysema', 'Fibrosis', 'Hernia',
        'Infiltration', 'Mass', 'Nodule', 'Pleural_Thickening', 'Pneumonia', 'Pneumothorax']
prob_list = [0.2268, 0.0717, 0.2414, 0.0845, 0.2153, 0.2802, 0.3154, 0.2922, 0.1558,
         0.3638, 0.2032, 0.1259, 0.2359, 0.4329]

# 生成带指定列名的DataFrame
df = pd.DataFrame([prob_list], columns=col_name)

# 核心排序逻辑
df.sort_values(by=df.index[0], axis=1, ascending=False, inplace=True)

# 验证输出
print("排序后列顺序:", df.columns.tolist())
print("排序后数据:\n", df)
参数说明
  • by=df.index[0]:指定按第一行的数值作为排序依据,适配单条预测结果的场景。如果是多条预测需要按列均值排序,替换为by=df.mean()即可
  • axis=1:指定排序维度为列,完全不会修改原有行的顺序
  • ascending=False:设置为降序,列数值越大排列越靠左
  • inplace=True:直接修改原DataFrame,不需要额外创建新对象,也不会新增任何列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 11:45:02