我有两个具有某些销售数据的数据框,如下所示:
df1:
prod_id,sale_date,new
101,2019-01-01,101_2019-01-01
101,2019-01-02,101_2019-01-02
101,2019-01-03,101_2019-01-03
101,2019-01-04,101_2019-01-04
df2:
prod_id,sale_date
101,2019-01-01,101_2019-01-01
101,2019-01-04,101_2019-01-04
我正在尝试比较上述两个数据框,以查找与df1相比df2中缺少的日期
我尝试执行以下操作:
final_1 = df1.merge(df2, on='new', how='outer')
这将返回以下数据框:
prod_id_x,sale_date_x,new,prod_id_y,sale_date_y
101,2019-01-01,101_2019-01-01,,
101,2019-01-02,101_2019-01-01,,
101,2019-01-03,101_2019-01-01,,
101,2019-01-04,101_2019-01-01,,
,,101_2019-01-01,101,2019-01-01
,,101_2019-01-04,101,2019-01-04
这不能让我比较这两个数据框。
预期输出:
prod_id_x,sale_date_x,new
101,2019-01-02,101_2019-01-02
101,2019-01-03,101_2019-01-03
答案 0 :(得分:0)
您可以使用drop_duplicates
pd.concat([df1,df2]).drop_duplicates(keep=False)