当我将我的数据框从 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)))
关于python - Pandas 中列名的异常排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235720/