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

咨询Pandas与Excel排序结果不一致的原因及匹配方案

Pandas与Excel字符串排序结果不一致的原因

我有一个小型DataFrame需要在Python中排序,使用Pandas排序后的结果与Excel的A-Z排序结果不同,期望让Pandas结果和Excel一致。

使用的Pandas代码:

import pandas as pd
df = pd.DataFrame({"Col": ['0123A', '0123B', '01-AB']})
df = df.sort_values('Col', ascending=True)

Pandas输出结果:

Col
2  01-AB
0  0123A
1  0123B

Excel输出结果:

Col
0  0123A
1  0123B
2  01-AB

二者排序结果不一致的原因

核心是两者采用的字符串排序规则不同:

  • Pandas依赖Python的默认字符串排序逻辑,基于Unicode码点比较:字符-的Unicode码点是U+002D,数字2的码点是U+0032,前者更小,所以01-AB会排在0123A之前。
  • Excel的默认字符串排序规则会调整特殊字符的优先级,默认将非字母数字的符号(比如-)排在字母数字字符之后,因此0123A、0123B会先于01-AB出现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:20:04