2019年安徽省黄山与湖北省武汉空气质量的数据分析

这两周我在慕课和b站上学习了一些关于python数据分析的方法,所以想借此次大作业的机会展示一下学习的成果。这时候我就想到可不可以分析一下我家乡黄山一年的空气质量呢?这时我又想到了武汉,自从我考入hg,武汉也就成为了我的第二个家了。所以说我想对这两个美丽的城市一年以来的空气质量做个数据分析。好的,那就走起!

我的简单思路

1、数据分析首先第一步就是要获得数据,而且应该是要有一定量的数据,这样做出的结果才具有一定的说服性。讲到的数据的获取,我们马上就可以想到我们最近刚学的一个方法,那就是——python爬虫。(但是本人现在水平很有限,复杂网页爬取下来就不知道如何处理了,所以就选择了简单的网页进行数据的爬取),在数据爬取过程中还用的一个新的第三方库pandas库,不过也就是其中的一些简单用法。

2、数据爬取之后便是数据的存储和读取,之后便就是对数据做一定的处理,目的就是要得到我们数据分析所需要的数据。最后就是用matplotlib库对数据进行可视化处理,使数据变得更加形象直观,让读者一目了然。

个人历程(一把辛酸泪)

首先我想先爬取黄山一个月的空气质量数据来看看效果如何,若这一步成功了就可以进行到多个网页数据的爬取,获取足够的数据以便之后的数据分析。代码和效果如下:

看起来是成功了,下面就可以进行下一步了。这里想讲一下那个lxml是一个网页解析器,性能比html.parser会好些,但是需要下载,用下载python第三方库的方法就可以进行下载。

而且我也用了pandas库对数据进行了一些简单的处理,让数据看起来更加美观。

接下来我就要对多个网页进行爬取,上面我做的是一个月的数据爬取。而我的想法是一年还是两个城市的,这样就应该要爬取24个网页,如果是复制每个网页的地址的话会非常麻烦。但很幸运的是,我找了网页的规律,比如2019年12月、11月黄山的网页地址是http://www.tianqihoubao.com/aqi/huangshan-201912.html,http://www.tianqihoubao.com/aqi/huangshan-201911.html。可以发现变的只有数字,而且前面是城市的小写拼音,若是武汉应该地址总应该是wuhan。找到规律之后就可以通过一个函数来进行数据爬取。数据爬取成功后,我就要将数据储存起来。储存之后就可以读取数据,然后对数据进行必要处理,得到画图所要的数据,再用matplotlib库进行数据可视化。第一次尝试(一个月的数据分析)代码和效果如下(代码因为失败,所以就没有全截图下来)

                 

可以看到虽然我做出了一个图标,但是横坐标过于密集,看起来很难受,原因是我是以日期为横坐标导致的,所以如果以月来作为横坐标应该会看起来会舒服多,效果也会更好些。代码修改如下:

    

这样效果会好多了。好的黄山市一年的空气质量AQI数据可视化成功后,接下来就是对武汉一天空气质量数据进行分析,并且将这两个城市放在一起进行效果比对。同时设置坐标轴标签和标题副标题,让图表效果更好,让人感觉一目了然,代码和效果如下:

从这张图就可以看出黄山一年的空气质量相较于武汉更好些,同时两个城市在夏季的空气质量AQI数据都较低,说明夏季的空气质量较好。

这时我又想分四个季度对黄山一年PM2.5的情况进行数据分析,这时候四个季度再用这样的折线图效果不好,这时我就想到用饼图效果会更好些。那就继续加油干!

代码效果如下:

 

                       

可以看到我用到了一个块状突出强调了第三季度黄山市PM2.5平均值最小,其次就是第三季度。因此从上面的几个图表中可以看出,我的家乡黄山市整体一年的空气质量是很不错的,AQI在50以下(空气质量为优秀)的月份很多,而且PM2.5也比较小,尤其是夏季和秋季,最重要的是黄山也是全国文明的景区,所以我强烈推荐大家假期和家人有旅游计划的,不妨考虑一下我这边的黄山景区哈哈哈!

个人总结:

首先是收获,感谢此次大作业提供的机会,让我学到了关于数据分析的很多新用法,比如pandas库的一些使用和matplotlib库绘制不用形状的图表等等。此次大作业可以说是这几次大作业中任务量最大,也是最困难的一次,但是做成之后的成就感也是最大的,我也认识到了matplotlib库巨大的实用性,也激发了我继续学习的热情。通过学习慕课和b站上提供的数据分析课程,我感受到了python数据分析这一块的知识非常丰富且复杂,而我此次所用到仅仅是一些皮毛而已,更多的知识还有待我后续的探索学习。本人也是水平很有限,当时的想法很大,但实施起来也是遇到了很多困难,耗费的精力很大,一时间也不知如何解决,最后也只能是做出了简化版。理想很美好,现实总是很骨感。不过还是学习到了很多。最后就是可能此次数据量有些大了,所以在程序运行过程中耗时很大,对我程序的修正和编写造成了不小的影响,所以我想请教一下有没有同学有更好的python进行数据分析的工具,有的话希望可以告诉我一下非常感谢。

好的,以上就是我此次大作业的所有内容。不足之处,请多多批评指正。

原文地址:https://www.cnblogs.com/pythonyx/p/12846268.html