df1 = pd.DataFrame({'id_imp': ['a', 'b', 'c','d','e','f','g'],
'name': ['jon', 'jon', 'tom', 'ber', 'gary','gary', 'zul'],
'state' : ['ca', 'ny', 'tn','ca','tn','tn','il'],
'county': ['wood','wood','fair','bridge','rosewelt','rosewelt','lili']})
df2 = pd.DataFrame({'id_sal': ['h', 'i', 'j','k','l'],
'name': ['jon', 'zolie', 'tom', 'ber', 'gary'],
'state' : ['ca', 'ch', 'tn','ca','tn'],
'county': ['wood','plas','fair','bridge','rosewelt']})
У меня есть два фрейма данных, и я хотел бы сопоставить df2 с df1 только на основе «имени» и «округа». Окончательный вывод должен иметь общие строки, основанные на 'name' и 'county' вместе с 'id_imp' из df1. Цель состоит в том, чтобы узнать, какой идентификатор из df1 был сопоставлен. Я выполнил следующие шаги, чтобы получить уникальную комбинацию 'name' и 'county', и тогда я не знаю, как продолжить.
new = df1.groupby(['name','county']).size().reset_index().rename(columns={0:'count'})
Окончательный ожидаемый результат:
final = pd.DataFrame({'id_sal': ['h', 'j', 'k','l'],
'name': ['jon', 'tom', 'ber', 'gary'],
'state' : ['ca', 'tn','ca','tn'],
'county': ['wood','fair','bridge','rosewelt'],
'id_imp': ['a','c','d','f']})