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