Python 无法加入熊猫中的数据帧

Python 无法加入熊猫中的数据帧,python,pandas,join,merge,multi-index,Python,Pandas,Join,Merge,Multi Index,我有两个。第一个df是一个多索引,另一个是典型的单索引 图1:多索引df 及 图2:单个索引 加入这两个df后,我得到了以下错误 不能在没有重叠索引名的情况下联接 我怀疑这个错误是由于第一个df中的索引列name造成的(图1) 甚至,交换索引名和典型的数值也没有帮助 图2:多索引df 我可以知道如何解决这个错误吗 提前感谢花费的时间您可以将多索引中的第一级转换为合并之前的列: df = (df1.reset_index(level=0) .merge(df2, left_

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

图1:多索引df

图2:单个索引

加入这两个df后,我得到了以下错误

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

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

甚至,交换索引名和典型的数值也没有帮助

图2:多索引df

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


提前感谢花费的时间

您可以将
多索引
中的第一级转换为
合并
之前的列:

df = (df1.reset_index(level=0)
         .merge(df2, left_index=True, right_index=True)
         .set_index('name', append=True)
         .swaplevel(1, 0))
或者如果使用join:

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

您可以将
多索引
中的第一级转换为
合并
之前的列:

df = (df1.reset_index(level=0)
         .merge(df2, left_index=True, right_index=True)
         .set_index('name', append=True)
         .swaplevel(1, 0))
或者如果使用join:

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

默认情况下,Join在相同索引上合并。你能同时显示你的第二个数据帧吗?嗨,谢谢你的回复。我附加了它,如图2所示@Adrianp你能给我们看看你的代码吗?也许
merge
可能比较合适,因为我认为您没有相同的索引。不要发布数据集的屏幕截图,而是将文本数据复制/粘贴到问题中。A请。默认情况下,在相同索引上加入合并。你能同时显示你的第二个数据帧吗?嗨,谢谢你的回复。我附加了它,如图2所示@Adrianp你能给我们看看你的代码吗?也许
merge
可能比较合适,因为我认为您没有相同的索引。不要发布数据集的屏幕截图,而是将文本数据复制/粘贴到问题中。A请。谢谢您的回答。根据你的建议,我离开时只带了一个?。我如何维护多重索引?@polosepian-那么有必要创建多重索引,答案已编辑。感谢Jezrael的帮助,感谢您的回复。根据你的建议,我离开时只带了一个?。我如何维护多重索引?@polosepian-那么有必要创建多重索引,答案已编辑。感谢耶兹雷尔的帮助,非常感谢