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

Python3中拼接DataFrame后列序混乱,如何重新排列列顺序?

解决Pandas DataFrame拼接后列顺序混乱的问题

你遇到的是列索引顺序错乱的问题,sort_values()是用来对行数据排序的,自然解决不了列顺序的问题。要调整列的显示顺序,直接通过指定列名列表重新选取DataFrame即可。

原混乱列顺序的DataFrame:

col2  col4  col3 col1
0    A     2     0    a
1    A     1     1    B
2    B     9     9    c
3  NaN     8     4    D
4    D     7     2    e
5    C     4     3    F

目标列顺序:

['col1', 'col2', 'col3', 'col4']

解决代码:

import pandas as pd

# 模拟你的混乱DataFrame
data = {
    'col2': ['A', 'A', 'B', pd.NA, 'D', 'C'],
    'col4': [2, 1, 9, 8, 7, 4],
    'col3': [0, 1, 9, 4, 2, 3],
    'col1': ['a', 'B', 'c', 'D', 'e', 'F']
}
df = pd.DataFrame(data)

# 指定目标列顺序并重新排列
target_cols = ['col1', 'col2', 'col3', 'col4']
df = df[target_cols]

print(df)

运行结果:

col1 col2  col3  col4
0    a    A     0     2
1    B    A     1     1
2    c    B     9     9
3    D  NaN     4     8
4    e    D     2     7
5    F    C     3     4

补充说明:

如果你的列名是有规律的(比如col1、col2...colN),也可以用sorted()函数自动排序:

df = df[sorted(df.columns)]

但如果是自定义的非规律顺序,必须手动写出目标列名列表来指定顺序。

内容的提问来源于stack exchange,提问作者Renzo Neomar Machado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:01:16