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

本篇博客解决在两个几乎完全相同的DataFrame当中如何找出不相同的元素,并使用datacompy直观的显示出来。
x表:
Phthon|Python datacompy 找出两个DataFrames不同的地方
文章图片

【Phthon|Python datacompy 找出两个DataFrames不同的地方】让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是不相同的
Phthon|Python datacompy 找出两个DataFrames不同的地方
文章图片

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

下图说明在20220125这一列当中存在一个NaN值,也就是我们刚刚赋值的地方:
Phthon|Python datacompy 找出两个DataFrames不同的地方
文章图片

但是现在还是不能确定出有异常值(也就是不相等的值的那行数据),因此我们考虑使用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当中不相同的值了:
Phthon|Python datacompy 找出两个DataFrames不同的地方
文章图片

    推荐阅读