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