Pyspark 数据框使用默认值左连接

我有两个数据框 df1 和 df2。我正在尝试加入(左加入)


df1:


Name     ID       Age

AA       1        23

BB       2        49

CC       3        76

DD       4        27

EE       5        43

FF       6        34

GG       7        65

df2:


ID      Place

1       Germany

3       Holland

7       India

Final = df1.join(df2, on=['ID'], how='left')


    Name     ID       Age    Place

    AA       1        23     Germany

    BB       2        49     null

    CC       3        76     Holland

    DD       4        27     null

    EE       5        43     null

    FF       6        34     null

    GG       7        65     India

但是如果值为空,我想Place用列值填充列Nameplace


预期输出:


    Name     ID       Age    Place

    AA       1        23     Germany

    BB       2        49     BB

    CC       3        76     Holland

    DD       4        27     DD

    EE       5        43     EE

    FF       6        34     FF

    GG       7        65     India

解决办法,我能想到的是,一旦join完成,我可以检查一下的值,如果为null就Place替换为。Name请让我知道是否有任何其他优雅的解决方案。谢谢。


杨__羊羊
浏览 200回答 1
1回答

白板的微信

对了谢谢。经过一些搜索设法使用如下链接所示from pyspark.sql.functions import coalescedf1.withColumn("Place",coalesce(df1.Place,df.Name)) 另一个线程
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python