【问题标题】:PySpark: How to join dataframes with column names stored in other variablesPySpark:如何将数据框与存储在其他变量中的列名连接起来
【发布时间】:2019-08-08 13:53:14
【问题描述】:

我正在尝试学习 PySpark。我必须在各自列colname_acolname_b 的基础上加入两个数据框,比如说AB。通常,我会这样做:

# create a new dataframe AB:
AB = A.join(B, A.colname_a == B.colname_b, how = 'left')

但是,我无法直接获得列的名称。它们已存储在特定模块中,我必须这样称呼它们:

module.COLNAME_A   # contains string with colname of A
module.COLNAME_B   # contains string with colname of B

如何将这些字符串值放入上面的命令中,以便加入数据帧?

【问题讨论】:

标签: python join pyspark left-join pyspark-sql


【解决方案1】:

使用方括号代替点符号来访问列名:

AB = A.join(B, A[module.COLNAME_A] == B[module.COLNAME_B], how = 'left')

【讨论】:

  • 我明白了,所以 pandas 语法也适用于 PySpark?
  • 它更像是一种适用于 pandas 和 PySpark 的 Python 语法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-13
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
  • 2015-09-29
  • 2022-12-12
  • 1970-01-01
相关资源
最近更新 更多