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

Pandas合并DataFrame后遍历列报TypeError如何修复?

问题原因

你的推测完全正确,报错的核心原因是合并后DataFrame的列名类型不统一:

  • df_y的列是你手动重命名的字符串类型
  • df_x原生是二级列索引(MultiIndex),join操作后这部分列名被保留为元组类型
    遍历列时如果对列名做字符串拼接操作,就会触发字符串和元组无法拼接的类型错误。

修复方案

你只需要在合并前把df_x的二级列索引转成和df_y格式一致的字符串单级列即可,既可以保留你要的(指标, 指数代码)命名格式,也能消除告警和报错:

  1. 先转换df_x的列索引
# 将二级MultiIndex拼接为指定格式的字符串,统一列名类型
df_x.columns = [f'({col_level1}, {col_level2})' for col_level1, col_level2 in df_x.columns]
  1. 再执行join操作即可
df = df_y.join(df_x)

如果已经完成了合并不想重新跑流程,也可以直接处理现有df的列名:

df.columns = [
    col if isinstance(col, str) else f'({col[0]}, {col[1]})'
    for col in df.columns
]

处理完成后所有列名都是统一的字符串类型,格式和你之前打印的显示效果完全一致,遍历列做字符串操作不会再报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:45:03