[英]Pyspark dataframe left join with default values
我有兩個數據框 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
最終 = 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
值為空,我想用Name
列值填充Place
列
預期輸出:
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完成,我可以檢查Place
的值,如果它為空就用Name
替換。 請讓我知道是否有任何其他優雅的解決方案。 謝謝。
是啊謝謝。 經過一些搜索設法使用如下鏈接所示
from pyspark.sql.functions import coalesce
df1.withColumn("Place",coalesce(df1.Place,df.Name))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.