pandas提供的可直接使用的函数(merge/join/concat)没有这个功能, 所以要实现这个功能, 需要自己来实现, 从这篇知乎上找到这个方法可行, 自己在此搬运记录一下
def anti_join(x, y, on):
"""
:param x:
:param y:
:param on:如没有特殊需求,可以不要这个参数
:return: 返回x中不包含y的部分
"""
ans = pd.merge(left=x, right=y, how='left', indicator=True, on=on)
ans = ans.loc[ans._merge == 'left_only', :].drop(columns='_merge')
return ans