Объединить два кадра данных, используя два ключа с помощью оператора или

У меня есть два кадра данных по финансовым данным. У каждого есть два ключа, тикер и ключ. Я хотел объединить эти два файла данных на основе сопоставления любого из этих двух ключей (не обязательно их взаимодействие). Если бы я использовал

`pd.merge(a , b, how='left' ,  on=['ticker', 'cusip'])

это вернуло бы только те наблюдения с подобранным тикером и параграфом. Мне нужно иметь или оператора. что-то вроде этого в sql является то, что я спрашиваю:

select * from a left join b on a.ticker = b.ticker or a.cusip=b.cusip

Буду признателен за ваши советы.

1 ответ

Давайте попробуем это:

df1 = pd.merge(a, b, how='left', on='ticker')
df2 = pd.merge(a, b, how='left', on='cusip')

df_out = pd.concat([df1, df2])
Другие вопросы по тегам