合并,合并火花数据框中的 2 列
Posted
技术标签:
【中文标题】合并,合并火花数据框中的 2 列【英文标题】:Merge, Combine 2 column in spark dataframe 【发布时间】:2020-10-31 04:44:26 【问题描述】:我有 2 个不同的数据框,我能够根据 g_id 将它们连接在一起。如下所示:
df1 = dfx.join(df_gi, regexp_extract(trim(dfx.LOCATION), ".*/GDocs/([0-9]1,5)/.*", 1) == df_gi.g_id, "inner")\
.select (dfx["*"], df_gi["G_Number2"])
现在,dfx daraframe 有一个名为 G_Number1 的列,而 df_gi 数据帧有一个类似的名为 G_Number2 的列,这两个列组合起来解决了缺失的部分......这意味着一列有一些信息,另一列有一些信息。将两者结合在一起就是需要的输出。
如何在 pyspark 中实现?我尝试了 concat 函数..但我很遥远。 提前谢谢你。
【问题讨论】:
【参考方案1】:你可以使用coalesce
:
import pyspark.sql.functions as f
df.withColumn('Output', f.coalesce('G_Number2', 'G_Number1'))
注意,当G_Number2
列都不为空时,这将优先考虑,如果您需要其他方式,只需切换两列的顺序即可。
【讨论】:
谢谢。这很棒。以上是关于合并,合并火花数据框中的 2 列的主要内容,如果未能解决你的问题,请参考以下文章