暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【pyhton数据预处理】利用pandas模块找出两excel表格差异并进行字段值比较

树深时见鹿wm 2022-07-26
2581
点击蓝字,关注我们
EDUCATION AND TRAINING

【前言】研0生活从枯燥的寻找数据、寻找数据、寻找数据……整理数据、整理数据、整理数据……开始。

很多时候大家更喜欢从各大平台机构花money买来整理好的数据,不同平台间格式存在差异,不完全放心使用。如我某师姐遇到的问题,一份是统计资料整理过来的数据,一份是购买过来已经简单处理过的数据,某师姐想知道购买的数据是否可靠,整理的数据与购买数据的原始数据是否相同,奈何数据量太大,不便处理,由此诞生了今天的话题。

【问题提出】

两份Excel数据,如何利用pandas进行比较找出数据上的差异(两份数据如下图所示,图1为统计资料数据,其数据简称为指标数据,图2为购买数据,其数据简称为数据库)




【问题分析】

(1) 图一每个指标一张二维表格,共有16张表格,行标题为年份,列标题为地区;表、时间、单位共同确定某地区某年份某项指标数值。

(2) 图二为截面数据,共包括84个字段,5万余条记录,通过年份、地区名称、具体指标共同确定某地区某年份某项指标数值。

(3) 观察两表主要内容,前面几十条记录地区字段的值县名一致,市辖区不一致;表一年份为字符型且为2001-2020年数据,表二年份为数值型且为2000-2020年数据。

(4) 综上对比思路为:对比县区是否一致——对比表二各县区年份有无缺失——对比某地区某年份某指标的数据值是否一致

【用到的知识】

Pandas模块;列表、字典、集合基础操作;列表推导式等

【计算过程】

(一)数据处理准备工作(导入pandas模块、获取全国县域指标工作薄全部表名并迭代表、读取中国县域数据库原始数据表、建立空列表、获取原始数据表列索引)



(二)计算两表行列数,判断全国县域指标数据县区是否存在重复项



(三)判断两表中县区是否一致,打印不一致的县区名称



(四)判断中国县域数据库中的年份是否完整



(五)将年份与地区合并成关键词,字段值提取为键值,用迭代器转化为字典格式,并通过键与值比较判断两表字段值是否一致。



【输出结果】

以年末人口数为例,输出结果如下图所示,从中可知:

(1) 全国县域指标数据县区不存在重复

(2) 中国县域数据库县区与全国县域指标数据县区数量不一致,前者较后者少,具体缺少县区如下图

(3) 城区、平城区、芒崖、芒崖市,21年数据可能不完整(推测是购买数据县区名字打错了)

(4) 两表某年某县区某指标数据值一致



以上是本次分享的经验贴,可以参考一下,觉得不错的话,欢迎点赞、收藏、关注,后期会不断更新python相关知识和技巧,大家相互学习共同进步。(python业余选手,技术不成熟,大佬绕路,谢谢)



长按扫码关注


文章转载自树深时见鹿wm,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论