【问题标题】:Join a dataframe with a column from another, based on a common column基于公共列将数据框与另一列中的列连接起来
【发布时间】:2019-04-17 12:54:13
【问题描述】:

我有两个 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)都无济于事。

【问题讨论】:

标签: python apache-spark pyspark pyspark-sql


【解决方案1】:

我认为这段代码可以满足您的要求:

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

【讨论】:

    【解决方案2】:

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

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

    PFB 示例代码。

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

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

    问候,

    尼拉杰

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 2018-12-04
      • 2019-12-03
      • 2022-12-12
      • 1970-01-01
      • 2017-02-10
      相关资源
      最近更新 更多