You need to enable JavaScript to run this app. 如何使用PySpark连接三个DataFrame得到指定字段的合并结果
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PySpark连接三个DataFrame得到指定字段的合并结果

多DataFrame关联实现方案

完全可以实现,你可以通过链式调用join/merge方法完成三个表的关联,需要注意的是你给出的示例代码里关联键写错了:df2和df1的关联字段应该是df2.df1_id,而非df2.df2_id。

PySpark 写法

# 分步写法(可读性更高)
df1_df2 = df1.join(df2, df1.df1_id == df2.df1_id, how='left')
dfResult = df1_df2.join(df3, df1_df2.df2_id == df3.df2_id, how='left')

# 链式写法(无需存储中间变量)
dfResult = df1.join(df2, df1.df1_id == df2.df1_id, how='left')\
              .join(df3, df2.df2_id == df3.df2_id, how='left')

Pandas 写法

import pandas as pd
# 因为关联字段名两边完全一致,直接用on参数指定即可
dfResult = pd.merge(df1, df2, on='df1_id', how='left')\
            .merge(df3, on='df2_id', how='left')

两种写法最终得到的dfResult都会包含你需要的所有字段。

内容的提问来源于stack exchange,提问作者tharindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 13:21:01