Skip to main content
 首页 » 编程设计

python之在python中找到两个数据帧之间的差异(设置差异)

2025年05月04日9落叶无声

我有两个数据帧:df1 和 df2。 我想消除 df1 中出现的所有 df2 行。 基本上,这是集差运算符,但适用于数据帧。

我的问题与this question 非常相似一个主要的变化是 df1 可能根本没有公共(public)行。在那种情况下,如果我们连接两个数据帧然后删除重复项,它仍然不会消除 df1 中出现的 df2。事实上,它增加了它。

问题也类似于this ,除了我想对行进行操作。

示例:

Case 1: 
df1: 
A,B,C,D 
E,F,G,H 
 
df2: 
E,F,G,H 
 
Then, df1-df2: 
A,B,C,D 
 
Case 2: 
df1: 
A,B,C,D 
 
df2: 
E,F,G,H 
 
Then, df1 - df2: 
A,B,C,D 

简单地说,我正在寻找一种方法来执行 df1 - df2(如果 df1 中存在,则删除 df2)。应该怎么做?

请您参考如下方法:

设置difference将在这里工作,它返回 ar1 中不在 ar2 中的唯一值。

np.setdiff1d(df1, df2) 

或者以DataFrame的形式获取结果,

pd.DataFrame([np.setdiff1d(df1, df2)])