基于公共列将数据帧与另一个数据帧中的列联接

2024-06-01 03:23:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个pyspark数据帧:

|  A  |  B  |  C  |
| 21  | 999 | 1000|
| 22  | 786 | 1978|
| 23  | 345 | 1563|

以及

^{pr2}$

期望结果:

|  A  |  B  |  C  |  E  |
| 21  | 999 | 1000| a12 |
| 22  | 786 | 1978| b43 |
| 23  | 345 | 1563| h67 |

我尝试使用join,甚至df1.join(df2.E, df1.A == df2.A)都没有用。在


Tags: 数据pysparkdf1df2joina12pr2b43
2条回答

我想这段代码能满足你的需要:

joinedDF = df1.join(df2.select('A', 'E'), ['A'])

当您试图使用函数join连接2个数据帧时,它需要3个参数。在

  1. arg-1:您需要加入的另一个数据帧。在
  2. arg-2:需要连接数据帧的列。在
  3. arg-3:要执行的联接类型。默认情况下,它的内部联接。在

PFB样本代码。在

df1.join(df2, df1.id == df2.id, 'outer')

您可以找到更多详细信息here。在

谨致问候

尼拉吉

相关问题 更多 >