Объединить кадры данных на самом низком уровне многоиндексных столбцов - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь объединить следующие два кадра данных в столбцах Pen_ID и DeviceID.У меня нет проблем с одноуровневым фреймом данных, но я не могу заставить работать эти многоиндексированные.

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')

и получить ошибки со всеми из них.Что я делаю не так?

...