在最低级别的多索引列上合并数据框

时间:2019-01-31 10:38:03

标签: python pandas dataframe merge multi-index

我正在尝试将以下两个数据帧合并到列Pen_IDDeviceID上。我对单级数据帧没有任何问题,但是我无法使这些多索引数据帧正常工作。

dfa=
assay  assay1                                                   
cube     fitc                                                   
result Pen_Id DeviceId       Label IsPositive IsPositiveVerified
0         226   D51038  Rabbit IgG      False               True
1         227   D51038  Rabbit IgG      False              False
2         228   D51038  Rabbit IgG      False              False
3         229   D51038  Rabbit IgG      False              False
4         230   D51038  Rabbit IgG      False              False

dfb=
assay  assay2                                                      
cube     tred                                                      
result Pen_Id DeviceId          Label IsPositive IsPositiveVerified
0         226   D51038  Human IL-18Ra      False              False
1         227   D51038  Human IL-18Ra      False              False
2         228   D51038            NaN      False              False
3         229   D51038            NaN      False              False
4         230   D51038            NaN      False              False

我尝试了以下方法:

on_r=pd.MultiIndex.from_product([['assay1'],['fitc'],['Device_Id','Pen_Id']], names=['assay','cube','result'])
on_l=pd.MultiIndex.from_product([['assay1'],['tred'],['Device_Id','Pen_Id']], names=['assay','cube','result'])
pd.merge(dfa,dfb,right_on=on_r,left_on=on_l)
dfa.join(dfa, how='outer')

并获得所有错误。我在做什么错了?

0 个答案:

没有答案