Как вытянуть значение конкретной ячейки из 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 )