DataComPy是一个比较两个Pandas.DataFrame的第三方库。它初是用来替代SAS的Pandas DataFrames的比较程序的,它的功能比Pandas.DataFrame.equals(DataFrame)更多,如支持打印详细的统计数据,并允许我们通过参数设置匹配的程度。同时将该功能扩展到了SparkDataframes,满足数据集巨大时的比对需求。
DataComPy 安装
我们在Windows10 Python3环境中使用pip进行安装,安装命令如下:
pip install datacompy
安装过程如下:
演示数据集
我们利用source、target 两个数据集,介绍如何使用datacompy 模块实现数据集之间的比较,为了方便查看,其中红色部分为两个数据集的差异部分,如下图:
DataComPy 使用
直接上代码,如下。datacompy.Compare() 方法使用简单,注释比较清楚,就不多做介绍了。
通过compare.report() 方法,我们可以非常清晰的看到两个数据集的差异,比如DataFrame 数据集概述,列、行比较结果概述以及详细差异描述如下:
除此之外,compare 也提供了另外一些比较方便的方法,如下
执行上述代码,输出结果为:
后,compare 也有一定的局限性,在比较的数据集时需要数据加载到内存中,如果比对数据集非常大,这可能是一个限制。
来源: 软件测试开发技术栈