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

如何基于行值对Pandas DataFrame列进行排序?

解决方案

你可以用 pandas 内置的 sort_values 方法结合列操作实现,完全不需要自定义函数,步骤如下:

首先修正原 DataFrame 的构造代码(原代码中ECycle的取值缺少括号,会导致报错):

import pandas as pd
df = pd.DataFrame({'Store':['A'],'Cycle':[1700],'ECycle':[2300],'Bike':[1900],'Scooter':[1900]})

方法一:分步实现

  1. 单独提取Store列(保持其在第一位)
  2. 对剩余列按第一行的数值进行排序(axis=1指定按列排序,by=0指定用第一行的值作为排序依据)
  3. 合并两部分得到结果

代码示例:

# 提取Store列
store_col = df[['Store']]
# 对其他列按行值排序
sorted_cols = df.drop('Store', axis=1).sort_values(by=0, axis=1)
# 合并列
result_df = pd.concat([store_col, sorted_cols], axis=1)

方法二:一行代码简化

直接将上述步骤合并,更简洁:

result_df = pd.concat([df[['Store']], df.drop('Store', axis=1).sort_values(by=0, axis=1)], axis=1)

执行后得到的结果会是Store列在首位,其余列按数值升序排列;对于数值相同的列(如Bike和Scooter),它们的顺序由 pandas 内部排序逻辑决定,两种排列方式均符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:00:58