使用带有或运算符的两个键合并两个数据帧

时间:2017-10-25 17:23:58

标签: python merge multiple-columns or-operator

我有两个关于财务数据的数据框。每个都有两个键,自动收报机和cusip。我想根据这两个键中的任何一个的匹配来合并这两个数据名(不需要它们的交互)。如果我用过

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

它会返回匹配的股票代码 cusip的观察结果。我需要拥有或运营商。 在sql中这样的东西是我要问的问题:

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

我很感激您的提示。

1 个答案:

答案 0 :(得分: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])