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