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當中不相同的值瞭:

 到此這篇關於Python datacompy 找出兩個DataFrames不同的地方 的文章就介紹到這瞭,更多相關Python 兩個Dataframe不同內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: