如何排查Python中DataFrame列重命名语句的报错问题?
问题描述
我运行以下代码时出现异常,但找不到语法错误:
column_mapper = {'DAILY_WELL_DRY_OIL_BBL': 'OilRate', 'PRODUCED_GAS_GAS_MMCF': 'GasRate', 'PRODUCED_WATER_BBL': 'WaterRate', 'DATE_': 'Date'} df.rename(columns=column_mapper, inplace=True)
移除这段列名修改语句后,程序其余部分可正常运行,求解决办法。
排查与解决方向
- 核对DataFrame列名:执行
print(df.columns)输出所有列名,确认column_mapper中的键(如DAILY_WELL_DRY_OIL_BBL)是否和df的列名完全一致,注意大小写、下划线、单词拼写是否有偏差。 - 验证
df类型:执行print(type(df))确认df是pandas DataFrame,避免误将列表、字典等其他类型赋值给df导致无rename方法。 - 替换
inplace写法:去掉inplace=True,改用赋值方式:df = df.rename(columns=column_mapper),部分旧版本pandas或特殊环境下inplace参数可能存在兼容性问题。 - 升级pandas版本:如果使用的是较旧的pandas版本,可能对字典格式的
columns参数支持不完善,执行pip install --upgrade pandas升级到稳定版。
内容的提问来源于stack exchange,提问作者Sunil Chitre
相关产品推荐
相关产品推荐

