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

Python pandas报错:must pass an index to rename 问题求助

解决DataFrame rename时的"must pass an index to rename"错误

这个报错其实是因为你给rename()方法传参的方式不对。咱们先拆解一下问题:你的to_snakecase函数已经生成了正确的列名映射字典,但调用rename时,把字典放在第一个位置参数同时指定axis=1的写法,会让pandas误以为你要修改**索引(index)**而非列名,所以才抛出这个错误。

正确的两种写法:

方法1:明确指定columns参数(推荐)

直接把映射字典传给columns参数,让方法清晰知道你要修改的是列名:

covid_df.rename(columns=to_snakecase(covid_df.columns), inplace=True)

方法2:使用axis='columns'替代axis=1

如果坚持用位置参数,可以把axis=1换成语义更明确的axis='columns':

covid_df.rename(to_snakecase(covid_df.columns), axis='columns', inplace=True)

额外优化:更简洁的列名转换方式

其实你完全可以不用自定义函数,直接用pandas的字符串方法链实现蛇形命名,代码更简洁高效:

covid_df.columns = covid_df.columns.str.lower().str.strip().str.replace(' ', '_')

这种方式直接修改columns属性,无需调用rename,逻辑更直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:30:32