Объединить два кадра данных в пандах на основе одинаковых значений имени столбца - PullRequest
0 голосов
/ 05 декабря 2018

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

one:

 Name      Status  Dummy
Kumar     Done       1
Shankar   Progress   1
Shankar   Done       2
sekar      no        0

Two:

Name     Status    Remarks  Temp
Shankar   Progress  Good     5
Shankar    Done     Very     6

Ожидаемый результат:

  Name    Status     Dummy    Remarks   Temp
  Kumar     Done       1                 0
  Shankar   Progress   1        Good     5
  Shankar   Done       2        very     6
  sekar      no        0                 0

1 Ответ

0 голосов
/ 05 декабря 2018

Используйте левое соединение с merge, а затем замените пропущенные значения на fillna:

df = df1.merge(df2, on=['Name','Status'], how='left')
df['Temp'] = df['Temp'].fillna(0).astype(int)
df['Remarks'] = df['Remarks'].fillna('')

print (df)
      Name    Status  Dummy Remarks  Temp
0    Kumar      Done      1             0
1  Shankar  Progress      1    Good     5
2  Shankar      Done      2    Very     6
3    sekar        no      0             0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...