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

如何在Pandas中创建带有主列标题的子列

Pandas 修改DataFrame列名实现方案

当然可以用Pandas实现列名修改,根据你需要修改的具体场景,以下是几种常用方案:

1. 直接替换全部列名

如果需要一次性替换所有列名,直接将新列名列表赋值给df.columns即可:

import pandas as pd

# 示例原始DataFrame
df = pd.DataFrame({'Col_01': [1, 2, 3], 'Col_02': [4, 5, 6], 'Col_03': [7, 8, 9]})
# 替换为新列名
df.columns = ['新列名1', '新列名2', '新列名3']

2. 批量修改部分列名

如果只需要修改部分列名,使用rename()方法传入列名字典映射,支持原地修改(设置inplace=True):

# 修改指定列名
df.rename(columns={'Col_01': '用户ID', 'Col_03': '消费金额'}, inplace=True)

3. 处理多级列名(MultiIndex)

如果你的DataFrame是多级表头(比如附图是双层/多层列名),可以针对层级单独修改或合并层级:

# 示例多级列名DataFrame
df = pd.DataFrame(
    [[10, 20, 30, 40]],
    columns=pd.MultiIndex.from_tuples([('基础信息', '年龄'), ('基础信息', '性别'), ('交易数据', '订单量'), ('交易数据', '金额')])
)

# 修改某一层级的列名
df.columns = df.columns.set_levels(['个人信息', '交易详情'], level=0)

# 合并多级列为单级列名(用下划线连接)
df.columns = ['_'.join(col) for col in df.columns.values]

4. 按规则批量修改列名

如果需要按特定规则(如添加前缀后缀、正则替换)修改,可以结合列表推导或字符串方法:

# 给所有列名添加前缀
df.columns = ['前缀_' + col for col in df.columns]

# 正则替换列名中的特定字符(比如替换数字为中文序号)
df.columns = df.columns.str.replace('Col_0(\d)', lambda x: f'列{x.group(1)}')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:22:35