如何去除Pandas DataFrame多重索引?合并报错解决方法
解决Pandas多重索引导致的合并报错问题
1. 修复df2的多重列索引
你的df2列索引由单元素元组构成,直接提取每个索引项的第一个元素作为普通列名即可:
# 方法1:提取索引第0层的值作为列名 df2.columns = df2.columns.get_level_values(0) # 方法2:遍历索引把元组转成字符串(通用写法) df2.columns = [idx[0] for idx in df2.columns]
执行后,df2的列名会变为barcode和cluster,多重索引格式被去除。
2. 执行合并操作
现在df2的列索引恢复正常,直接运行你原本的合并代码就能得到预期结果:
new_df = df1.merge(df2, on='barcode', how='left')
补充说明
之前无法合并df2与df2的问题,根源也是这个多重列索引,修复索引后该问题会自动解决。
内容的提问来源于stack exchange,提问作者ChrisMc
相关产品推荐
相关产品推荐

