我有两个DataFrame,如下所示:
val df1 = Seq((1, 3), (2, 4), (1, 5)).toDF("col1", "col2")
example:
1 30
2 40
1 50
和
val df2 = Seq((1, 2), (3, 5)).toDF("key1", "key2")
example:
1 2
3 5
我想要做的是遍历df2
,获取key2,看看是否df2.key2=df1.col1
,如果是,我会在df1
添加另一行来创建新的DataFrame。在df2
row1(1,2)的示例中,由于2与df1
中的row2 col1匹配,因此我想将另一行(1,4)添加到df1
。
鉴于上面的输入,预期输出是
1 30
2 40
1 50
1 40 //added this new row as result, as df2.row1.key2 matches df1.row2.col1
//for df2(1,2), as it matches df1 (2,4)using that join condition, it brings in 4
我知道我们可以检查是否df1.col("col1")===df2.col("key2")
,但我不知道如何遍历df2以在每一行上执行该操作。