无法加入熊猫中的数据框

时间:2019-10-04 03:17:35

标签: python pandas join merge multi-index

我有两个df。第一个df是多索引,另一个是典型的单索引。

enter image description here

图1:Multiindex df

enter image description here

图2:单一索引

加入这两个df后,出现以下错误

  

无法加入没有重叠索引名称的

我怀疑,此错误是由于第一个df中的索引列 name (图1)引起的。

即使交换索引名称和典型数值也无济于事

enter image description here

图2:Multiindex df

我可以知道如何解决此错误吗?

提前感谢您花费的时间

1 个答案:

答案 0 :(得分:1)

您可以将MultiIndex中的第一级转换为merge之前的列:

df = (df1.reset_index(level=0)
         .merge(df2, left_index=True, right_index=True)
         .set_index('name', append=True)
         .swaplevel(1, 0))

或者如果使用连接:

df = df1.reset_index(level=0).join(df2).set_index('name', append=True).swaplevel(1, 0)