首页 > 解决方案 > PySpark:如何将数据框与存储在其他变量中的列名连接起来

问题描述

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

# 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

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

标签: pythonjoinpysparkleft-joinpyspark-sql

解决方案


使用方括号而不是点符号来访问列名:

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

推荐阅读