PySpark:如何将数据框与存储在其他变量中的列名连接起来
Posted
技术标签:
【中文标题】PySpark:如何将数据框与存储在其他变量中的列名连接起来【英文标题】:PySpark: How to join dataframes with column names stored in other variables 【发布时间】:2019-08-08 13:53:14 【问题描述】:我正在尝试学习 PySpark。我必须在各自列colname_a
和colname_b
的基础上加入两个数据框,比如说A
和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
如何将这些字符串值放入上面的命令中,以便加入数据帧?
【问题讨论】:
How to join in pyspark dataframe with dynamic keys的可能重复 【参考方案1】:使用方括号代替点符号来访问列名:
AB = A.join(B, A[module.COLNAME_A] == B[module.COLNAME_B], how = 'left')
【讨论】:
我明白了,所以pandas
语法也适用于 PySpark?
它更像是一种适用于 pandas
和 PySpark 的 Python 语法。以上是关于PySpark:如何将数据框与存储在其他变量中的列名连接起来的主要内容,如果未能解决你的问题,请参考以下文章
如何使用pyspark将json对象插入postgres表中的列
Pyspark:如何将现有非空列的元组列表作为数据框中的列值之一返回