失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python空气质量指数计算_现在 哪个城市的空气最好闻?空气质量指数分布图——Python实例...

python空气质量指数计算_现在 哪个城市的空气最好闻?空气质量指数分布图——Python实例...

时间:2020-01-14 13:02:24

相关推荐

python空气质量指数计算_现在 哪个城市的空气最好闻?空气质量指数分布图——Python实例...

我们要做如下两张图。

空气质量指数AQI的分布图。

PM2.5的分布图。

一、获取空气质量指数AQI和PM2.5浓度数据

刚开始想找这个网站,可网页打开的速度太慢,导致代码执行一度停滞。

网站提供的实时数据排行榜,已经有快半年没有更新了。

我就重新选择这个作为Python爬取的数据来源。

打开Anaconda的Jupyter Notebook,新建New一个Python文件。这次使用的库有点多,后几个是为了坐标转换用的,此次没有转换,因为区域广,影响不大。

把网页实例化。

现在显示的是358,上午我尝试的时候是350。

我们通过xpath解析出所有的城市名,但有重复的,正好多了一倍。716是最后一个,正好显示排行榜的最后一名,也就是说,要从中间截一半。

得到城市名,从358开始,到715结束。

类似的,通过xpath解析出所有的空气质量状况。

通过xpath解析出所有的省份。

得到空气质量状况和省份,从358开始,到715结束。

通过xpath解析出所有的空气质量指数AQI。

通过xpath解析出所有的PM2.5浓度。

得到空气质量指数AQI和PM2.5浓度,后者从359开始,到716结束,因为解析出来的数量是717,第一个是标题。

把所有的内容都输出下,看看是否显示完整。

把所有内容转换为DataFrame结构,并导出为csv保存,因为一个小时会更新一次,下面操作以今天下午15点的数据为例。

二、获取城市坐标

获取城市坐标的url,key记得用(高德开放平台)Web服务的。

还是放在这里看吧,结构清晰多了,我们主要需要城市名city和坐标loaction。有的同学会有疑问,前面我们不是已经有了城市名了,怎么还获取呢?用ArcGIS作图的时候就有影响了。

获取城市坐标的函数。

把城市名作为参数依次调用city函数,并把获取的坐标拆分出来,添加到DataFrame结构中。

导出为csv文件格式。

三、ArcGIS制图

打开ArcGIS中的ArcMap,把刚才产生的cvs文件和城市shp文件拖到中间。

在csv文件上,右键,点击显示XY数据。

在打开的对话框中,设置X、Y字段分别为lng和lat。

在cities图层,右键,点击连接和关联—>连接。

设置本图层NAME和csv文件中的city连接。

接着往下操作时,会出现大片的空白。右键打开属性表,你会发现,大部分的值都是空值。为什么?因为csv文件里的city字段,没有市(或其他),连接不到一起。

我们回到Jupyter Notebook,把从city函数中获取的城市名赋值给DataFrame结构中的city列,导出csv文件。

把刚才在ArcMap中的操作再进行一次,然后右键cities,点击属性,符号系统—>显示—>数量—>分级色彩—>字段—>值,选AQI。

在最后带事件的图层(显示XY数据产生的),右键,点击标注要素,就能把城市名显示出来;在cities点击也可以,有少许区别。

最后的成图,点击菜单文件—>导出地图可以产生。

结尾

PM2.5的需要重新加载一个新的cities图层。

空白的地方,就是数据为空,没数据或数据未清洗造成的。

如果觉得《python空气质量指数计算_现在 哪个城市的空气最好闻?空气质量指数分布图——Python实例...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。