Skip to main content
 首页 » 编程设计

python之Pandas 中列名的异常排序

2025年05月04日8rubylouvre

当我将我的数据框从 Pandas 导出到 Excel 电子表格时,我的列顺序如下所示,其中“10 个最大事件”被认为是“1 个最大事件”之后的下一个,而不是“2 个最大事件”。我希望它按数字顺序出现。即“1 大事件”、“2 大事件”、“10 大事件”

ID_1    Permit No.        ID_2       1 Largest Event    10 Largest Event    2 Largest Event 
10220   To Be Permitted 0010001-24.1       4.0548                  0.822    3.9611 

为什么会这样?这是一个小的格式错误,但可能会很碍眼。

请您参考如下方法:

从 natsort 和 reindex

from natsort import natsorted 
l=['1 Largest Event','10 Largest Event','2 Largest Event'] 
natsorted(l) 
Out[789]: ['1 Largest Event', '2 Largest Event', '10 Largest Event'] 
df=df.reindex(columns=natsorted(list(df)))