В Python, как я могу сопоставить значение столбца в таблице 1 с другой таблицей 2 и добавить обратно в таблицу 1?

#python #jupyter-notebook

#python #jupyter-notebook

Вопрос:

У меня есть таблица со списком валют в виде столбца в df1 [‘Ccy]

    Ccy    
0   GBP           
1   GBP        
2   USD       
3   EUR
4   GBP
5   USD
 

У меня есть вторая таблица со значениями df2:

     Ccy FX Rate
0   USD 0.750244
1   JPY 0.007196
2   GBP 1.000000
3   EUR 0.893390
 

Как я могу создать сопоставление в виде нового столбца в df1, который имеет значения столбцов валютного курса для соответствующей валюты, например:

   Ccy       FX Rate
0   GBP     1.000000
1   GBP     1.000000   
2   USD     0.750244  
3   EUR     0.893390
4   GBP     1.000000   
5   USD     0.750244
 

Я мог бы выполнить сопоставление, подобное приведенному ниже, но оно заменяет исходные валюты, а не создает новый столбец с отображенными числовыми значениями:
rename_dict = df2.set_index(‘Ccy’).to_dict()[‘Курс валют’]
df1 = df1.replace(rename_dict)

Хотите просто добавить сопоставления в качестве нового столбца к исходному df1.

Спасибо!

Ответ №1:

Вы можете объединить два фрейма данных в «Ccy».

 newdf = pd.merge(df1,df2,on="Ccy",how="left")