Python 连接多索引数据帧和单索引数据帧

Python 连接多索引数据帧和单索引数据帧,python,pandas,multi-index,Python,Pandas,Multi Index,我有一个多索引数据帧和一个单索引数据帧。我想在键属性“KeyColumn”的基础上加入它们。但是,我找不到一个最佳的方法来做到这一点。请让我知道,如果有人可以帮我这个。谢谢 单索引数据帧 KeyColumn Column2 Column3 Column4 AttibuteColumn ValueColumn pk1 col2 col3 col4 AC NO pk2 col2 col3 col4

我有一个多索引数据帧和一个单索引数据帧。我想在键属性“KeyColumn”的基础上加入它们。但是,我找不到一个最佳的方法来做到这一点。请让我知道,如果有人可以帮我这个。谢谢

单索引数据帧

KeyColumn Column2 Column3 Column4 AttibuteColumn ValueColumn

   pk1    col2    col3    col4             AC          NO
   pk2    col2    col3    col4          COLOR        BLUE
   pk2    col2    col3    col4          COLOR         RED
   pk4    col2    col3    col4          COLOR       GREEN
   pk5    col2    col3    col4            CAR   HATCHBACK
   pk6    col2    col3    col4            CAR       SEDAN
   pk7    col2    col3    col4            CAR         SUV
   pk8    col2    col3    col4            CAR    2 SEATER
   pk9    col2    col3    col4             AC         YES
  pk10    col2    col3    col4             AC          NO
多级索引

                ValueColumn   

 AttibuteColumn          AC        CAR  COLOR

 KeyColumn                                   
 pk1                     NO       None   None
 pk10                    NO       None   None
 pk2                   None       None   BLUE
 pk4                   None       None  GREEN
 pk5                   None  HATCHBACK   None
 pk6                   None      SEDAN   None
 pk7                   None        SUV   None
 pk8                   None   2 SEATER   None
 pk9                    YES       None   None
只使用另一个
数据帧
,而不使用
多索引

df = df1.join(df2.xs('ValueColumn', axis=1, level=0), on=['KeyColumn'])
或:

或:

df = df1.join(df2['ValueColumn'], on=['KeyColumn'])  
df2.columns = df2.columns.droplevel(0)
df = df1.join(df2, on=['KeyColumn'])