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

如何对含a、b、c、d、e、f列的DataFrame分两组按规则排序?

分两组列独立排序的实现方案

假设你的DataFrame变量名为df,可以通过以下步骤完成需求:

  1. 处理a、b、c列,按a列升序排序
    提取目标列并执行排序:

    df_abc = df[['a', 'b', 'c']].sort_values(by='a', ascending=True)
    
  2. 处理d、e、f列,按f列降序排序
    同样提取目标列并按指定规则排序:

    df_def = df[['d', 'e', 'f']].sort_values(by='f', ascending=False)
    
  3. 合并两组处理后的结果
    由于两组排序后的索引会不一致,需要先重置索引再拼接:

    df_abc = df_abc.reset_index(drop=True)
    df_def = df_def.reset_index(drop=True)
    result_df = pd.concat([df_abc, df_def], axis=1)
    

说明

这种方式是将两组列独立完成排序后合并成新的DataFrame。如果你的需求是要求两组列保持原行的关联(即同一行的a,b,c和d,e,f不能拆分),那这个方案不适用——这种情况下需要明确排序的优先级规则,因为同一行的a列升序和f列降序可能存在冲突,无法同时满足。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:05:23