我有一种情况,我想在两个数据帧之间查找不匹配的行。两个数据框都将包含约30列和一个id
列,它们唯一地标识每个记录/行。因此,我想检查df1
中的行与df2
中的行是否不同。 df1
是更新的数据框,而df2
是先前的版本。
我尝试了一种方法pd.concat([df1, df2]).drop_duplicates(keep=False)
,但是它只是结合了两个数据帧。有没有办法做到这一点。我非常感谢您的帮助。
dfs
的示例数据如下。
id
user_id
type
status
总共有39列,其中可能包含NULL
值。
谢谢。
P.S。 df2
将始终是df1
的子集。
答案 0 :(得分:0)
如果df1和df2的形状相同,则可以轻松地与以下代码进行比较。
df3 = pd.DataFrame(np.where(df1==df2,True,False), columns=df1.columns)
您将看到布尔输出“ False”,表示单元格值不匹配。