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

pandas使用rename()重命名列无响应 如何将X1/X2索引替换为实际列名

pandas DataFrame列重命名失效与列名批量替换解决方案

一、rename方法无效果的原因

pandas的rename()方法默认不会修改原DataFrame,仅会返回修改后的新对象,你可以通过两种方式实现修改:

  • 方式1:将方法返回的结果重新赋值给原变量
    df = df.rename({'ID':'QQQ'}, axis='columns')
    
  • 方式2:添加inplace=True参数直接修改原对象
    df.rename({'ID':'QQQ'}, axis='columns', inplace=True)
    

二、X1/X2格式列名替换为业务列名的方案

方案1:读入数据时直接指定列名(推荐)

如果你的X开头列名是读入文件时,pandas错误把第一行数据当成表头生成的,可以在读入阶段就指定列名:

import pandas as pd
# 按列的顺序填写对应的业务名称,数量要和实际列数完全匹配
df = pd.read_csv('你的文件路径', header=None, names=['ID', 'LIMIT_BAL', 'SEX', 'EDUCATION'])

方案2:直接给columns属性赋值

如果已经把数据读入内存,明确知道所有列对应的业务名称顺序,可直接覆盖列索引:

# 按现有列的从左到右顺序填写业务名
df.columns = ['ID', 'LIMIT_BAL', 'SEX', 'EDUCATION']

方案3:通过映射关系替换指定列名

如果只需要替换部分X开头的列,可自定义映射字典实现:

col_map = {
    'X1': 'ID',
    'X2': 'LIMIT_BAL',
    'X3': 'SEX',
    'X4': 'EDUCATION'
    # 按需补充其他列的映射关系
}
df = df.rename(col_map, axis=1)

修改完成后即可通过df.EDUCATION的属性形式访问对应列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:03