如果行匹配,PySpark设置列值等于另一个数据框值

时间:2018-07-25 22:39:06

标签: python apache-spark dataframe pyspark

嗨,我想检查spark数据框列值,并基于检查行名是否与另一个数据框行匹配来设置它。

示例:

SendBytesToPrinter

2 个答案:

答案 0 :(得分:2)

您需要加入才能执行此任务:

## join both data on name
df3 = df2.join(df1, on='name',how='left')

# change column sequence
df3 = df3.select('average','name')

# order by name values
df3 = df3.orderBy('name', ascending=True)

答案 1 :(得分:2)

您需要做的只是一个Join

您可以达到如下结果。

将数据框df2df1上的name连接起来,然后选择所需的列顺序

df3 = df2.join(df1, on = 'name').select('average', 'name')

上面的代码段应该给您想要的结果