首页 > 解决方案 > 基于公共列将数据框与另一列中的列连接起来

问题描述

我有两个 pyspark 数据框:

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

|  A  |  D  |  E  |
| 21  | aaa | a12 |
| 22  | bbb | b43 |
| 23  | ccc | h67 |

期望的结果:

|  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)无济于事。

标签: pythonapache-sparkpysparkpyspark-sql

解决方案


当您尝试使用该函数加入 2 个数据框时,join它需要 3 个参数。

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

PFB 示例代码。

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

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

问候,

尼拉吉


推荐阅读