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

如何使用Python Pandas实现Excel多级排序功能

Pandas实现可选层级多级排序的方案

Pandas原生的sort_values()方法已经完全覆盖Excel的多级排序逻辑,不需要额外依赖第三方库,按下面的方式调用即可:

核心实现逻辑

排序优先级完全由传入by参数的列名列表顺序决定:列表第一个元素是最高优先级排序键(对应需求里的A列),第一个列取值相同的记录会自动按第二个列(B列)排序,后续依次顺延,和Excel里添加排序层级的规则完全一致。

基础用法示例

import pandas as pd

# 示例:优先按A列升序,A列相同按B列降序,B列相同再按C列升序
sorted_df = df.sort_values(
    by=["A列", "B列", "C列"],  # 按排序优先级从高到低写列名
    ascending=[True, False, True],  # 为每一列单独指定排序方向:True=升序,False=降序
    na_position="last",  # 空值统一放在结果末尾,对齐Excel默认排序规则
    ignore_index=True  # 可选:排序后重置连续行索引,避免原索引乱序
)

特殊场景适配

如果某一列需要按自定义顺序排序(比如等级列按「高/中/低」而非默认字典序排列),可以先将列转为指定顺序的分类类型,再执行排序即可:

# 先指定列的自定义排序顺序
df["等级列"] = pd.Categorical(
    df["等级列"],
    categories=["高", "中", "低"],
    ordered=True
)
# 再执行常规多级排序,该列就会按自定义顺序排列
sorted_df = df.sort_values(by=["等级列", "其他排序列"])

多级排序示例截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 09:57:27