python外连接_python – Pandas在多列上留下外连接多个数...

我是使用DataFrame的新手,我想知道如何在一系列表的多个列上执行左外连接的SQL等价物

例:

df1:

Year Week Colour Val1

2014 A Red 50

2014 B Red 60

2014 B Black 70

2014 C Red 10

2014 D Green 20

df2:

Year Week Colour Val2

2014 A Black 30

2014 B Black 100

2014 C Green 50

2014 C Red 20

2014 D Red 40

df3:

Year Week Colour Val3

2013 B Red 60

2013 C Black 80

2013 B Black 10

2013 D Green 20

2013 D Red 50

基本上我想做类似这样的SQL代码(注意df3没有加入Year):

SELECT df1.*, df2.Val2, df3.Val3

FROM df1

LEFT OUTER JOIN df2

ON df1.Year = df2.Year

AND df1.Week = df2.Week

AND df1.Colour = df2.Colour

LEFT OUTER JOIN df3

ON df1.Week = df3.Week

AND df1.Colour = df3.Colour

结果应如下所示:

Year Week Colour Val1 Val2 Val3

2014 A Red 50 Null Null

2014 B Red 60 Null 60

2014 B Black 70 100 Null

2014 C Red 10 20 Null

2014 D Green 20 Null Null

我已经尝试过使用merge和join但是无法弄清楚如何在多个表上进行操作以及何时涉及多个关节.有人可以帮我吗?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值