pandas取两个dataframe中不同的行

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章