Python 连接多索引数据帧和单索引数据帧
我有一个多索引数据帧和一个单索引数据帧。我想在键属性“KeyColumn”的基础上加入它们。但是,我找不到一个最佳的方法来做到这一点。请让我知道,如果有人可以帮我这个。谢谢 单索引数据帧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 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'])