我有两个数据框 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
提交
取消