12.03 Python DataComPy 庫實現Pandas DataFrame 差異比對

DataComPy是一個比較兩個Pandas.DataFrame的第三方庫。它最初是用來替代SAS的Pandas DataFrames的比較程序的,它的功能比Pandas.DataFrame.equals(DataFrame)更多,如支持打印詳細的統計數據,並允許我們通過參數設置匹配的精確程度。同時將該功能擴展到了SparkDataframes,滿足數據集巨大時的比對需求。



DataComPy 安裝

我們在Windows10 Python3環境中使用pip進行安裝,安裝命令如下:

 pip install datacompy

安裝過程如下:


Python DataComPy 庫實現Pandas  DataFrame 差異比對



演示數據集

我們利用source、target 兩個數據集,介紹如何使用datacompy 模塊實現數據集之間的比較,為了方便查看,其中紅色部分為兩個數據集的差異部分,如下圖:


Python DataComPy 庫實現Pandas  DataFrame 差異比對


DataComPy 使用

直接上代碼,如下。datacompy.Compare() 方法使用簡單,註釋比較清楚,就不多做介紹了。


Python DataComPy 庫實現Pandas  DataFrame 差異比對

通過compare.report() 方法,我們可以非常清晰的看到兩個數據集的差異,比如DataFrame 數據集概述,列、行比較結果概述以及詳細差異描述如下:

Python DataComPy 庫實現Pandas  DataFrame 差異比對

除此之外,compare 也提供了另外一些比較方便的方法,如下

Python DataComPy 庫實現Pandas  DataFrame 差異比對

執行上述代碼,輸出結果為:

Python DataComPy 庫實現Pandas  DataFrame 差異比對

最後,compare 也有一定的侷限性,在比較的數據集時需要數據加載到內存中,如果比對數據集非常大,這可能是一個限制。


分享到:


相關文章: