Python datacompy 找出两个DataFrames不同的地方

本篇博客解决在两个几乎完全相同的DataFrame当中如何找出不相同的元素,并使用datacompy直观的显示出来。

x表:
在这里插入图片描述

让x1和x2都是x的副本,则此时x1和x2的值是相同:

x1=x.copy()
x2=x.copy()

将其中x2的一个数据赋值为2000

x2.loc['罗梓烜']['20220125']=2000
x1[x1==x2].head(25) # 如何对不相等的数据进行纠正

此时可以看到下图这个数据是NaN值,说明对于这个数据来说x1和x2是不相同的
在这里插入图片描述

x1[x1==x2].isnull().sum()

下图说明在20220125这一列当中存在一个NaN值,也就是我们刚刚赋值的地方:
在这里插入图片描述
但是现在还是不能确定出有异常值(也就是不相等的值的那行数据),因此我们考虑使用datacompy

安装:

!pip install datacompy
import datacompy,pandas as pd,sys
compy=datacompy.Compare(x1,x2,on_index=True)
compy
print(compy.matches())
print(compy.report())

此时就可以很清晰的看到两个DataFrame当中不相同的值了:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wxfighting/article/details/123807396