Как вытянуть значение конкретной ячейки из DataFrame по условию и вставить в новый столбец другого DataFrame?

Имеется два датафрейма: df1 с названиями компаний, ИНН и кредитным рейтингом и df2 с ценными бумагами. Общий столбец ИНН. Требуется вытащить из df1 значение кредитного рейтинга в соответствии с ИНН и создать в df2 новый столбец df2['Credit_ratio'] с полученными значениями. Методы loc и isin никакой пользы не принесли. Также стоит как-то учесть, что некоторые компании могут не иметь рейтинга (вообще отсутствуют в df1). В такие ячейки неплохо бы проставить ноли. Владею программированием на уровне дна, сам финансист, поэтому не смейтесь сильно). Подскажите, пожалуйста, правильный способ.

import pandas as pd


data1 = [['A', '7478399993', '75'], ['B', '4839948823', '56'], ['C', '74819984839', '81']]

df1 = pd.DataFrame(data1, columns=['Company', 'INN', 'Credit_ratio'])



data2 = [['N57', '1000', '13 JAN', '15', '7478399993'], ['N58', '500', '22 JAN', '12', '4845948823'], \
         ['N60', '1000', '10 FEB', '18', '4839948823'], ['N61', '1000', '5 JAN', '10', '4449948823'], \
         ['N62', '900', '29 JAN', '18', '7478399993'], ['N63', '1000', '10 JUN', '14', '4839948823']]

df2 = pd.DataFrame(data2, columns=['Number', 'Value', 'Date', 'Percent', 'INN'])

Благодарю!


Ответы (1 шт):

Автор решения: Ivan

Нашел вариант:

import pandas as pd


data1 = [['A', '7478399993', '75'], ['B', '4839948823', '56'], ['C', '74819984839', '81']]

df1 = pd.DataFrame(data1, columns=['Company', 'INN', 'Credit_ratio'])



data2 = [['N57', '1000', '13 JAN', '15', '7478399993'], ['N58', '500', '22 JAN', '12', '4845948823'], \
         ['N60', '1000', '10 FEB', '18', '4839948823'], ['N61', '1000', '5 JAN', '10', '4449948823'], \
         ['N62', '900', '29 JAN', '18', '7478399993'], ['N63', '1000', '10 JUN', '14', '4839948823']]

df2 = pd.DataFrame(data2, columns=['Number', 'Value', 'Date', 'Percent', 'INN'])

df2 = df2.merge(df1, how='outer')
df2.drop(['Company'], axis= 1 , inplace= True )
→ Ссылка