我需要帮助在 pyspark 数据帧中创建一个新列 new_id
,其值取决于来自另一个 pyspark 数据帧的字符串类型列 address
的匹配,如果它没有匹配列 address
,然后用 null 填充。
如下:
df1:
df1_value address new_id
1 'street 57' 6248
0 'street 99' 9543
0 'street 23' 1673
1 'street 14' 3557
df2:
df2_value old_id address
'A' 'A-12' 'street 57'
'A' 'A-09' 'street 98'
'B' null 'street 23'
'B' 'A-85' 'street 14'
'A' null 'street 82'
new_df2:
df2_value old_id address new_id
'A' 'A-12' 'street 57' 6248
'A' 'A-09' 'street 98' null
'B' null 'street 23' 1673
'B' 'A-85' 'street 14' 3557
'A' null 'street 82' null
我知道如何使用连接在 python 中执行此操作,但我不知道 pyspark 中是否有类似的东西。
答案 0 :(得分:1)
这是一个简单的左连接。这应该有效:
df2.join(df1, "address", left).show()