昨天在外网找到一个比较dataframe的好库,叫datacompy,它的优点有:
1、可以把对比后的信息详情打印出来,比如列是否相等,行是否相等;
2、在数据中如果有不相等列,那么就只比较相同的列;
3、可以设置绝对差值和相对差值,比如我们比较有浮点数的数据时,设置下绝对差值为0.01,后面的一系列微小的值就忽略了;
4、在数据报告中,每一列的数据类型、不相等数量、最大差值和空值都详细列出来了;
5、可以把不相等的列单独取出来,取出来就是一个dataframe,可以查看具体哪些是不一样的;
下面这张图就是比较之后的报告:
代码如下:
import datacompy, pandas as pd, sys
files = []
try:
files = [sys.argv[1], sys.argv[2]]
except:
print('命令行未检测到文件参数。')
# 这个方式可以通过命令行运行:
#
# python3 cmpfiles.py testfile1.txt testfile2.txt
#
# 上面自带的两个参数,就是通过 sys.argv 获得的。
if len(files) == 0:
files = ['./TempFiles/temp_77.csv', './TempFiles/temp_77_new.csv']
#