目录
分享使用Pyecharts进行全国水质TDS地图可视化的全过程。
一、效果图
本次对全国TDS进行了分析,一共生成了363张地图,实现省、市、区县级地图联动。
有点坑,CSND显示不了我画得这么好的地图,显示图片违规。。。只有这张放出来了:
二、实现过程1:数据来源及清洗
数据来源主要是2021年大数据年报里的数据,以及2019-2021年安装档案。
年报里的数据有tds,内机条码和所属省市(但不全面,存在缺失),不能支撑我们区县级地图的绘制。因此数据清洗主要做了如下内容:
1.TDS有效值筛选。
2.通过内机条码,匹配安装档案里的安装地址。数据量很大,需要匹配上百万行Excel数据。用到的技巧,见本系列第2篇文章《职场Excel,使用Power Query 进行百万行级别数据匹配》。
3.去除不可见字符。
4.提取安装地址对应的省、市、区/县、村、镇,由于部分安装地址不全,因此先进行了数据补全,再进行地址拆分。用到的技术,见本系列第3篇文章《用Python拆分物流地址以及实现地址补全》。
三、实现过程2:数据分析
主要将省、市、区县进行了拆分,并分别计算了平均值、中位数、95%分位数以及最大值。
全国有34个省级行政区,333个地级行政区,2844个县级行政区,用Excel处理还是比较麻烦的,因此写了程序去计算。最后输出了省、市、区县级的数据。
这里用到了一个相关技术,使用Python对Excel进行拆分,见本系列第4篇文章《使用Python将Excel表拆分至多个Excel文件》。
四、实现过程3:数据可视化
有了数据后,下面开始可视化。
这里介绍两种方法,一种是用Excel自带的三维地图进行可视化,见本系列第5篇文章《利用Excel地图实现美国水质地图可视化》。
我本来想在这里放个地图,奈何显示不出来。。。
用Excel比较麻烦的是,有时候地址找不成功,但因为它提供了经纬度定位,因此我们在做具体的地点(有明确的经纬度)时,它还是能比较好满足的,问题在于怎么样知道经纬度,用到的相关技术,见本系列第6篇文章《利用Python Selenium自动化获取页面信息》
Excel本身也能实现分层的地图,如下面的效果:
但问题就是它的局限性大,而且市级、区县级可视化经常定位不准。
Excel地图还有一种用的较多的是使用ExcelPro里的地图模板,但同样功能有限。
因此最后我用了pyecharts进行这次的可视化,具体如何实现,见本系列第7篇文章《使用pyecharts画地图》。