我有两个pandas数据框:
df1
:
column
index1
rec-1 foo
rec-2 bar
rec-3 bar
: :
df2
:
test
index2
rec-1-b baz
rec-2-b foo
rec-3-b quux
: :
以及MultiIndex对象
multiIndex1
:
(rec-1,rec-1-b)
(rec-2,rec-3-b)
:
将两个数据帧链接在一起。我现在如何获得如下所示的数据框:
joined_df
:
column test
index1 index2
rec-1 rec-1-b foo baz
rec-2 rec-3-b bar quux
: : : :
答案 0 :(得分:2)
mux = pd.MultiIndex.from_tuples([('rec-1','rec-1-b'),('rec-2','rec-3-b')])
df = df1.reindex(mux, level=0).join(df2.reindex(mux, level=1))
或者:
df = pd.concat([df1.reindex(mux, level=0), df2.reindex(mux, level=1)], axis=1)
print (df)
column test
rec-1 rec-1-b foo baz
rec-2 rec-3-b bar quux