python - Pandas 中列名的异常排序

标签 python pandas

当我将我的数据框从 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

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

最佳答案

natsortreindex

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)))

关于python - Pandas 中列名的异常排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235720/

相关文章:

pandas - 获取列表 azure synapse 工作区中 data Lake gen2 文件夹的所有内容

python - cumsum pandas 达到特定值 - python pandas

python - 如何在数据框中进行字符串替换

python - 如何干净地退出cmd模块的cmd循环

python - 如何提取日期条件下的行

Python Pandas 根据另一个集合(集合)的成员资格选择行

python - 在列表中按行计算 NaN 值

python - 在 Python 中快速选择硬件

python - pandas read_csv 解析外国日期

python - 数据框与缺失数据合并