DataFrame列重命名失效:将列名0及index列重命名
解决DataFrame列名修改问题
1. 修改列名0为feature_rank的正确方法
你的代码存在两个问题:
- 参数名拼写错误:应使用
columns而非column - Pandas的
rename默认返回新的DataFrame,不会修改原数据,需重新赋值给变量,或设置inplace=True直接修改原数据
正确写法二选一:
# 方法1:重新赋值保存修改后的结果 df = df.rename(columns={0: 'feature_rank'}) # 方法2:直接修改原DataFrame df.rename(columns={0: 'feature_rank'}, inplace=True)
2. 修改名为index的列的名称
这列是普通数据列(不是行索引),同样通过rename的columns参数修改:
# 修改index列为自定义名称,比如new_index_col df = df.rename(columns={'index': 'new_index_col'}) # 或使用inplace=True直接修改原数据 df.rename(columns={'index': 'new_index_col'}, inplace=True)
补充说明
- 区分行索引与数据列:你的DataFrame最左侧的0、1、2是行索引,而名为
index的列是普通数据列,二者不要混淆。 - 若要修改行索引的表头名称,直接修改
df.index.name即可:df.index.name = 'row_sequence'
内容的提问来源于stack exchange,提问作者nic.o
相关产品推荐
相关产品推荐

