我有兩個數據框 df1 和 df2。我正在嘗試加入(左加入)df1:Name ID AgeAA 1 23BB 2 49CC 3 76DD 4 27EE 5 43FF 6 34GG 7 65df2:ID Place1 Germany3 Holland7 IndiaFinal = 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請讓我知道是否有任何其他優雅的解決方案。謝謝。
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
對了謝謝。經過一些搜索設法使用如下鏈接所示
from pyspark.sql.functions import coalesce
df1.withColumn("Place",coalesce(df1.Place,df.Name))
另一個線程
添加回答
舉報
0/150
提交
取消