我有以下DF
ID NAME VAL
-----------
1 John 5
2 Anna 6
3 Josh 12
4 Paul 10
我有这个DF
ID
--
2
3
我正在使用pyspark进行left_anti连接,代码如下
test= df.join(
df_ids,
on=['ID'],
how='left_anti'
)
我的预期输出是:
ID NAME VAL
1 John 5
4 Paul 10
尽管如此,当我运行上面的代码时,我得到了一个空的数据帧作为输出。我做错了什么?
您可以通过以下操作来完成此操作。
df = (df.join(df_ids, on=df["ID"]==df_ids["ID"], how='left')
.where(df_ids["ID"].isNull())
.select(df["*"]))