Панды: назначить значение в зависимости от другого кадра данных - PullRequest
0 голосов
/ 08 октября 2018

У меня есть данные, которые выглядят так:

 df1:          condition        
               A               
               A              
               A               
               B              
               B             
               B           
               B   

 df2:          condition      value   
               A               1
               B               2

Я хотел бы присвоить каждому условию его значение, добавив столбец к df1, чтобы получить:

 df1:          condition     value      
               A               1
               A               1
               A               1
               B               2
               B               2
               B               2
               B               2

как я могу это сделать?заранее спасибо!

1 Ответ

0 голосов
/ 08 октября 2018

Используйте map от Series, созданного set_index, если необходимо добавить только один столбец:

df1['value'] = df1['condition'].map(df2.set_index('condition')['value'])

print (df1)
  condition  value
0         A      1
1         A      1
2         A      1
3         B      2
4         B      2
5         B      2
6         B      2

Или используйте merge с левым соединением, если df2 имеет больше столбцов:

df = df1.merge(df2, on='condition', how='left')
print (df)
  condition  value
0         A      1
1         A      1
2         A      1
3         B      2
4         B      2
5         B      2
6         B      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...