我有2个数据框,如下所示。
目标是从df2中找到一个新行,其中数据帧1中不存在相同的列值。
我尝试将两个ID为连接条件的数据框连接起来,并检查其他列值是否不相等,如下所示。
但这不起作用。
有人可以帮忙吗?
df1:此数据帧就像一个主表
id amt city date
abc 100 City1 9/26/2018
abc 100 City1 9/25/2018
def 200 City2 9/26/2018
ghi 300 City3 9/26/2018
df2:新数据集Dataframe 2每天都会出现。
id amt city date
abc 100 City1 9/27/2018
def null City2 9/26/2018
ghi 300 City3 9/26/2018
结果:给出如下结果数据框:
id amt city date
abc 100 City1 9/27/2018
def null City2 9/26/2018
我尝试的代码:
val writeDF = df1.join(df2, df1.col("id") === df2.col("id")).
where(df1.col("amt") =!= df2.col("amt")).where(df1.col("city") =!=
df2.col("city")).where(df1.col("date") =!= df2.col("date")).select($"df2.*")
答案 0 :(得分:0)
DataFrame方法df1.except(df2)
将返回df1
中df2
中不存在的所有行。
答案 1 :(得分:0)
答案 2 :(得分:0)