Вид операции vlookup между двумя фреймами данных pandas на основе общего идентификатора столбца - PullRequest
0 голосов
/ 23 января 2020

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

df1:

Source Cell Name  Source WCEL DN
   A                   RNC-306
   B                   RNC-307 
   C                   RNC-308
   A                   RNC-308
   D                   RNC-310
   E                   RNC-311
   E                   RNC-311
   F                   RNC-312

df2:

 Name             Target WCEL DN
   B                   RNC-206
   A                   RNC-207 
   D                   RNC-208
   A                   RNC-207
   C                   RNC-209
   B                   RNC-206
   A                   RNC-207
   D                   RNC-208
   E                   RNC-210
   F                   RNC-211
   G                   RNC-212 
   H                   RNC-213 

После слияния я хочу обновить df1 из df2, и вывод должен выглядеть следующим образом

вывод:

df1:

Source Cell Name  Source WCEL DN
   A                   RNC-207
   B                   RNC-206 
   C                   RNC-209
   A                   RNC-207
   D                   RNC-208
   E                   RNC-210
   E                   RNC-210
   F                   RNC-211

Я очень плохо знаком с python, поэтому, пожалуйста, помогите мне через это, как решить и получить этот вывод, используя pandas в python , Также следует отметить, что данные огромны, а имя столбца, для которого необходимо выполнить объединение, имеет другое имя.ie «Имя исходной ячейки» в df1 и «Имя» в df2. Я хочу обновить столбец «Исходный DN WCEL» df1 из столбца «Целевой DN WCEL» df2, поскольку мы можем сделать это просто с помощью vlookup в Excel.

1 Ответ

0 голосов
/ 23 января 2020
df1.columns = ['Name', 'Source WCEL DN']
df1.merge(df2, on='Name' , how='left', left_index=True, right_index=True).drop('Source WCEL DN', axis=1)
...