Объединить два фрейма данных на основе одного и того же значения столбца - PullRequest
0 голосов
/ 18 июня 2020

Я хочу сделать vlookup в pandas, как в Excel. Другими словами:

  • Если есть одинаковые значения в обоих столбцах (B и C), то распечатайте его в новом столбце D (сохраняя столбец A).
  • В любом в другом случае поместите NaN

Я сделал: vlookup = df1.merge(df2, on = 'A') но он копирует значение столбца B и помещает везде.

df1 = 

A      B

car    VB
car    K2
car    V9
car    VX

df2 = 

A      C

car    VB
car    K2
cat    BN
monkey AS

Желаемое вывод:

df3 = 
A      D      

car    VB     
car    K2     
cat    NaN
car    NaN    
cat    NaN

1 Ответ

1 голос
/ 18 июня 2020

Вам следует сделать

df3=df1.merge(df2.rename(columns={'C':'B'}),on=['A','B']).rename(columns={'B':'D'})
     A   D
0  car  VB
1  car  K2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...