无法加入熊猫中的数据框

pol*_*ian 1 python merge join multi-index pandas

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

在此处输入图片说明

图 1:多索引 df

在此处输入图片说明

图 2:单一索引

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

不能在没有重叠索引名称的情况下连接

我怀疑,这个错误是由于第一个 df 中的索引列造成的(图 1)。

甚至,交换索引名称和典型数值也无济于事

在此处输入图片说明

图 2:多索引 df

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

提前感谢您所花费的时间

jez*_*ael 5

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

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

或者如果使用 join:

df = df1.reset_index(level=0).join(df2).set_index('name', append=True).swaplevel(1, 0)
Run Code Online (Sandbox Code Playgroud)