熊猫:LEFT OUTER JOIN where(ON)2个匹配的条件[重复]

Posted

技术标签:

【中文标题】熊猫:LEFT OUTER JOIN where(ON)2个匹配的条件[重复]【英文标题】:Pandas: LEFT OUTER JOIN where (ON) 2 Conditions that Match [duplicate] 【发布时间】:2016-04-25 21:55:09 【问题描述】:

我有 2 个数据框,我想在 Pandas 中组合满足两个 2 个条件,但我没有成功到达那里。提前感谢您的帮助!

df1
    A    B    C
0   1    2    3
1   4    5    6
2   7    8    9

df2
    A    B    F
0   1    2    cat
1   4    5    dog
2   7    8    moose

想要的结果

df3
    A    B    C    F
0   1    2    3    cat
1   4    5    6    dog
2   7    8    9    moose

尝试merge 失败但失败:

pd.merge(df1, df2, on='A' & 'B', how='left') pd.merge(df1, df2, on('A' & 'B'), how='left') pd.merge(df1, df2, on='A' & on='B',how='left')

【问题讨论】:

【参考方案1】:

也许您可以尝试添加到merge 多个连接键on=['A','B']

print pd.merge(df1, df2, on=['A','B'], how='left')

   A  B  C      F
0  1  2  3    cat
1  4  5  6    dog
2  7  8  9  moose

Docs.

【讨论】:

太棒了!正是我想要的!谢谢,@jezrael! 很高兴能帮到你!祝你好运!你可以accept回答。谢谢 欢迎来到 Stack Overflow。您可以查看tour。 谢谢!很高兴来到这里! :-)

以上是关于熊猫:LEFT OUTER JOIN where(ON)2个匹配的条件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Oracle left outer join with is null in JOIN vs WHERE 条件(示例)

mysql where not in to left outer join

Linq-to-Entities:带有 WHERE 子句和投影的 LEFT OUTER JOIN

SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别

Oracle的left join中on和where的区别

深入Oracle的left join中on和where的区别详解