首页 > 解决方案 > 如何使用熊猫查找 2 个数据帧的增量?

问题描述

我试图从 2 个数据框中找到不常见的数据。

df1

df1 = pd.DataFrame({
    'contact_id': [1,2,3,4]
})

   contact_id
0           1
1           2
2           3
3           4

df2

df2 = pd.DataFrame({
    'contact_id': [1,3,4,5]
})

   contact_id
0           1
1           3
2           4
3           5

预期产出

   contact_id
0           2
1           5

我尝试使用下面的代码但不正确

df = df2[~df2.contact_id.isin(df1.contact_id)]

谁能帮助我如何获得预期的输出

标签: pythonpandasdataframe

解决方案


尝试merge()使用indicator=True,然后使用query()finally 过滤掉额外的列,使用drop()

out=(df1.merge(df2,indicator=True,on='contact_id',how='outer')
        .query("_merge!='both'").drop('_merge',1))

输出:

   contact_id
1       2
4       5

推荐阅读