【发布时间】:2022-01-19 12:08:35
【问题描述】:
我有以下 SQL 左连接查询要转换为 Pandas 连接。
select df1.pc, df1.si, df1.cat,
df2.cid As mid, df2.sd as md, df2.cid As bi, df2.sd as bd, sum(df1.sal) as Sal
from df1
left join df3
on df1.cat = df3.cd
left join df2
on df2.chd = df3.mid
and df1.id = df2.id
left join df3
on df1.cat = df3.cd
left join df2
on df2.chd = df3.bid
and df1.id = df2.id
group by df1.pc, df1.si, df1.cat, df2.cid, df2.sd, df2.cid, df2.sd ;
我在 pandas 中尝试了以下代码
final = pd.merge(
pd.merge(
pd.merge(df1, df3,how='left', left_on=['cat'], right_on=['cid']),
df2,how='left', left_on=['chd','id'], right_on=['mid','id']),
df3,how='left', left_on=['cat'], right_on=['cid']),
df2,how='left', left_on=['cid','id'], right_on=['bid','id'])
但有些地方我弄错了。这是等效的吗?或任何建议 请建议...在这里击中
【问题讨论】: