【问题标题】:merge two dataframes using two keys with or operator使用带有或运算符的两个键合并两个数据帧
【发布时间】:2017-10-25 17:23:58
【问题描述】:

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

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

它只会返回那些带有匹配代码 cusip的观察结果。我需要有或运营商。 sql中这样的东西是我要问的qhat:

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

非常感谢您的提示。

【问题讨论】:

    标签: python merge multiple-columns or-operator


    【解决方案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])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2015-07-07
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      相关资源
      最近更新 更多