使用pandas的df.rename无法将DataFrame列名"0"改为"Grad"的问题
解决DataFrame列重命名无效的问题
问题原因
你遇到的问题是因为要修改的列名不是字符串类型的"0",而是整数类型的0。之前重命名"frames"列成功,是因为该列名本身就是字符串;而这次合并后的列名是整数索引,用字符串"0"匹配自然找不到对应列,所以重命名操作没生效。
验证方法
先执行以下代码确认列名的实际类型:
print(result.columns) print(type(result.columns[0])) # 查看目标列的类型
解决方案
方案1:直接用整数作为键重命名
修改rename的参数,把键换成整数0:
result = pd.concat([table2, tableg3], axis=1) result.rename(columns={0: "Grad"}, inplace=True) result
方案2:先将所有列名转为字符串再重命名
如果后续需要统一使用字符串格式的列名,可以先转换列名类型:
result = pd.concat([table2, tableg3], axis=1) result.columns = result.columns.astype(str) result.rename(columns={"0": "Grad"}, inplace=True) result
内容的提问来源于stack exchange,提问作者Rory235
相关产品推荐
相关产品推荐

