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

如何修改pandas DataFrame中名为‘0’的列名?

解决DataFrame列名'0'无法修改的问题

常见原因与解决方案

首先排查列名的实际类型:执行df.columns查看,列名可能是整数0而非字符串'0',这是导致rename失效的常见原因。以下是几种可行的修改方式:

方法1:直接修改columns属性(最直观)

如果已经添加了其他列,直接替换第一列的名称并保留后续列:

# 把'新列名'替换成你需要的名称
df.columns = ['新列名'] + list(df.columns[1:])

方法2:正确使用rename方法

根据列名的实际类型选择对应键,同时注意inplace参数(默认不修改原DataFrame):

  • 若列名是整数0:
df.rename(columns={0: '新列名'}, inplace=True)
  • 若列名是字符串'0':
df.rename(columns={'0': '新列名'}, inplace=True)

如果不想修改原DataFrame,可赋值给新变量:new_df = df.rename(columns={0: '新列名'})

方法3:创建DataFrame时直接指定列名(从根源避免问题)

在初始化阶段就设置好列名,省去后续修改步骤:

df = pd.DataFrame(data, columns=['初始列名'])
# 之后再执行添加列的代码
for x in list:
    df[x] = 0

补充说明

之前rename失效大概率是两个原因:

  • 键的类型不匹配(比如列名是整数0,你却用了字符串'0'作为键)
  • 未设置inplace=True,导致修改只作用于返回的新DataFrame,原DataFrame未变化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:01:03