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

如何重排DataFrame列,将指定列设置为第一列?

重排DataFrame列,将指定列设为首列

有两种简单实用的方法可以实现这个需求:

方法一:构造新列顺序列表

通过列表推导式生成目标列顺序——先放指定列,再追加剩余所有列(保留原有顺序),之后重新索引DataFrame:

import pandas as pd

# 示例DataFrame
data = {'AA': [1,2,3], 'BB': [4,5,6], 'DD': [7,8,9]}
df = pd.DataFrame(data)
col_name = 'BB'

# 生成目标列顺序并重新索引
new_cols = [col_name] + [col for col in df.columns if col != col_name]
df = df[new_cols]

# 验证结果
print(df.columns)  # 输出: Index(['BB', 'AA', 'DD'], dtype='object')

这种方法会返回新的DataFrame,适合不想改动原数据的场景。

方法二:原地修改原DataFrame

通过pop取出指定列,再用insert将其插入到第0位(首列),直接修改原数据:

import pandas as pd

# 示例DataFrame
data = {'AA': [1,2,3], 'BB': [4,5,6], 'DD': [7,8,9]}
df = pd.DataFrame(data)
col_name = 'BB'

# 弹出指定列并插入到首位
target_col = df.pop(col_name)
df.insert(0, col_name, target_col)

# 验证结果
print(df.columns)  # 输出: Index(['BB', 'AA', 'DD'], dtype='object')

这种操作更简洁,不需要额外生成列列表,直接在原DataFrame上完成修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:16:04