繁体   English   中英

使用Pandas MultiIndex连接两个数据框

[英]Using a pandas MultiIndex to join two dataframes

我有两个熊猫数据框:

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
  :        :       :         : 

我认为您需要使用joinconcat reindex

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM