我有两个数据帧。我想根据Data Frame-B中的一些常见列值删除Data Frame-A中的一些记录。
例如: 数据框-A:
A B C D
1 2 3 4
3 4 5 7
4 7 9 6
2 5 7 9
数据框-B:
A B C D
1 2 3 7
2 5 7 4
2 9 8 7
Keys: A,B,C columns
期望的输出:
A B C D
3 4 5 7
4 7 9 6
任何解决方案。
答案 0 :(得分:3)
您正在寻找left anti-join
:
df_a.join(df_b, Seq("A","B","C"), "leftanti").show()
+---+---+---+---+
| A| B| C| D|
+---+---+---+---+
| 3| 4| 5| 7|
| 4| 7| 9| 6|
+---+---+---+---+