объединить второй фрейм данных в первый - PullRequest
0 голосов
/ 02 февраля 2019

Я хочу объединить 2 фрейма данных следующим образом:

left:

   A  B  C  D    E    F    G    H     
   1  2  3  4    5    6    7    h       
   5  2  3  4  NaN  NaN  NaN  NaN  
   1  2  4  4  NaN  NaN  NaN  NaN  


right:
   E  F  G  H     
   1  2  g  h2 

Я хотел сделать:

merge=pd.merge(left=left,right=right,left_on=['A','B'], right_on=['E','F'],how='left')

Но я хочу что-то похожее на это:

   A  B  C  D    E    F    G    H     
   1  2  3  4    5    6    7    h
   1  2  3  4    1    2    g    h2
   5  2  3  4  NaN  NaN  NaN  NaN  
   1  2  4  4    1    2    g    h2

Есть идеи, как мне достичь желаемого результата?

Большое спасибо !!

1 Ответ

0 голосов
/ 02 февраля 2019

Возможно, вам понадобится рассмотреть update

left=left.set_index(['A','B'])
right.index=pd.MultiIndex.from_arrays([right['E'],right['F']])
left.update(right)
left.reset_index(inplace=True)
left
Out[274]: 
   A  B  C  D    E    F    G    H
0  1  2  3  4  1.0  2.0    g   h2
1  5  2  3  4  NaN  NaN  NaN  NaN
2  1  2  4  4  1.0  2.0    g   h2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...