临颖网站建设,网络设计方案3000字,建设局怎么样,网站后台管理系统密码昨天在外网找到一个比较dataframe的好库#xff0c;叫datacompy#xff0c;它的优点有#xff1a;
1、可以把对比后的信息详情打印出来#xff0c;比如列是否相等#xff0c;行是否相等#xff1b;
2、在数据中如果有不相等列#xff0c;那么就只比较相同的列#xf…昨天在外网找到一个比较dataframe的好库叫datacompy它的优点有
1、可以把对比后的信息详情打印出来比如列是否相等行是否相等
2、在数据中如果有不相等列那么就只比较相同的列
3、可以设置绝对差值和相对差值比如我们比较有浮点数的数据时设置下绝对差值为0.01后面的一系列微小的值就忽略了
4、在数据报告中每一列的数据类型、不相等数量、最大差值和空值都详细列出来了
5、可以把不相等的列单独取出来取出来就是一个dataframe可以查看具体哪些是不一样的
下面这张图就是比较之后的报告 代码如下
import datacompy, pandas as pd, sysfiles []
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]# files [./TempFiles/temp_77.csv, ./TempFiles/temp_77_copy.csv]
# 如果直接运行这个脚本那么用西面定义的 filesdf1 pd.read_csv(files[0])
df2 pd.read_csv(files[1])compare datacompy.Compare(df1, df2, join_columnskey)
# Compare 参数
# df1: 数据框1
# df2: 数据框2
# join_columns: 指定索引的列名默认“None”可以传入数组比如[key, AdID]
# on_index: 是否要开启索引开启之后不需要指定 join_columns默认“False”
# abs_tol: 绝对公差默认“0”
# rel_tal: 相对公差默认“0”
# df1_name: 报告中数据框1的名字默认“df1”
# df2_name: 报告中数据框2的名字默认“df2”
# ignore_spaces: 是否忽略空格默认“False”
# ignore_case: 是否忽略大小写默认“False”print(compare.matches()) # 最后判断是否相等返回 bool
print(compare.report()) # 打印报告详情返回 string
# print(compare.sample_mismatch(用户数)) # 取出不相同的某一列数据返回 dataframe
任何程序错误以及技术疑问或需要解答的请添加