用探索性分析做数据质量自查和明晰distinct和unique概念

发布于:2023-02-11 ⋅ 阅读:(483) ⋅ 点赞:(0)

缘起:

接上一篇文章,对爬取的青岛市小区和乡镇数据做探索性数据分析。

高德搜索POI:以获取小区数据为例

发现的问题

重复数据

查看对应的重复id数据发现在每次请求地区数据的时候,page_index的数据请求重复了:

再查看代码,发现是range使用不当的问题:

下图为range的使用例子:

 把原来代码中的range(100)改为range(1,101)才对:

 出错原因:

写代码时range(100)更符合惯常思维,而取值1到100,在python中应该是range(1,101)

阈值的设置

青岛的各个下辖区/市的小区 数据为什么都在200-225之间,所以设置结束阈值的时候用offset做为结束阈值是不行的吗?小于等于25不保险,而且高德文档也说不要超过25,所以为了感到更安全,设置到20,再次爬取数据,发现数据量还是和上次一样,应该不是接口请求的问题。

distinct和unique有何不同

 根据github的说明:

 根据id来理解:

 distinct-duplicates=uniuqe。id字段的这个数值比较好算好验证,其他字段就不会直接了,因为duplicates不再等于number of observations减number of distincts.

根据distinct和unique的概念,令我对pandas中的unique的工作结果产生不确定。所以做下面测试:

name和address的unique 和count都不一致,但是他们两个组合起来就可以且唯一识别小区。

所以pandas中的unique相当于前文报告中的distinct,和前文数据分析报告中的概念不一致。

对比前文更加明显:

所以,这是看报告和使用pandas需要注意的一点。 

本文含有隐藏内容,请 开通VIP 后查看