Python 熊猫将索引与多索引合并而不合并

Python 熊猫将索引与多索引合并而不合并,python,pandas,concatenation,Python,Pandas,Concatenation,我有一个索引,其中包含我希望在结果数据帧中显示的所有值(df3): 我正在尝试将此索引与另一个df(df2)连接: 我可以使用merge来实现这一点,但速度很慢(这是我想要的最终结果,不使用merge): 我想使用join但是我无法合并索引,即使我指定了how='outer'应该保留这两个索引,也会删除df1索引 df3 = df1.join(df2, how='outer') ------------------------------------ 2 3 0

我有一个索引,其中包含我希望在结果数据帧中显示的所有值(
df3
):

我正在尝试将此索引与另一个df(
df2
)连接:

我可以使用
merge
来实现这一点,但速度很慢(这是我想要的最终结果,不使用merge):

我想使用
join
但是我无法合并索引,即使我指定了
how='outer'
应该保留这两个索引,也会删除df1索引

df3 = df1.join(df2, how='outer')

------------------------------------
           2    3
0  1
bb xxx  777  888
dd yyy  999    0

关于如何使用join或concat或任何比merge更快的方法来组合数据帧的想法?

df1.join(df2.reset_index(level=1))。set_index([1],append=True)
?这正是我想要的。您可以将其添加为答案,以便我选中。
df1.join(df2.reset_index(level=1))。set_index([1],append=True)
?这正是我要找的。你可以加上它作为答案,这样我就可以打勾了。
df2 = pd.DataFrame([['bb', 'xxx', 777, 888], ['dd', 'yyy', 999, 0]]).set_index([0, 1])

------------------------------------
           2    3
0  1
bb xxx  777  888
dd yyy  999    0
df3 = df1.reset_index().merge(df2.reset_index(), how='left').set_index([0, 1])

------------------------------------
             2      3
0  1
aa NaN    NaN    NaN
bb xxx  777.0  888.0
cc NaN    NaN    NaN
dd yyy  999.0    0.0
ee NaN    NaN    NaN
df3 = df1.join(df2, how='outer')

------------------------------------
           2    3
0  1
bb xxx  777  888
dd yyy  999    0