Python数据可视化:2018年北上广深空气质量分析(附完整代码)

640?wx_fmt=jpeg


法纳斯特,Python爱好者,喜欢爬虫,数据分析以及可视化。


就在这周偶然看到一个学弟吐槽天津的空气,不禁想起那段厚德载雾,自强不吸的日子。


无图无真相,下图为证。


640


左边的图是去年2月份的时候,这样的空气真的难得一见!


右边的是吐槽以及我个人第一次买口罩!!!


口罩用的还行,因为那个时候做课设,经常要两个校区跑,基本上空气不好我就会带上。


题目好像是有关液压及气压的传动系统,手画A0图...


这应该是快两年前的事了,时光飞逝呐。


所以这回先对2017年天津的空气质量情况进行分析,然后再是北上广深。



/ 01 / 网页分析


640


网站没有反爬,所以直接抓取信息就好了。


看见没有,妥妥的严重污染,2016年12月份买的口罩派上用场啦!


这里简单给大家科普一下有关AQI,PM2.5的知识。


640


640


又是重操旧业,我的PPT水平还是很水呢~



/ 02 / 数据获取

获取代码如下所示。


 
 

import time
import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
for i in range(113):
    time.sleep(5)
    # 把1转换为01
    url = 'http://www.tianqihoubao.com/aqi/tianjin-2017' + str("%02d" % i) + '.html'
    response = requests.get(url=url, headers=headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    tr = soup.find_all('tr')
    # 去除标签栏
    for j in tr[1:]:
        td = j.find_all('td')
        Date = td[0].get_text().strip()
        Quality_grade = td[1].get_text().strip()
        AQI = td[2].get_text().strip()
        AQI_rank = td[3].get_text().strip()
        PM = td[4].get_text()
        with open('air_tianjin_2017.csv''a+', encoding='utf-8-sig'as f:
            f.write(Date + ',' + Quality_grade + ',' + AQI + ',' + AQI_rank + ',' + PM + ' ')


成功获取数据。


640



/ 03 / 天津


同样不上源码,这里有必要说一波,因为我觉得源码放上去排版就不好看了...


其次我要秉承以前混迹P圈(PPT)得到的优良传统,热爱分享,百度云盘你值得拥有。


所以公众号回复天气。即可获取全部可视化源码及相关文件。


以前天天去下载PPT大神的大作,然后观摩,可惜的是PPT水平还是那么菜~


01  AQI全年走势图


640

92.5是年均AQI值,从上面科普知识里可以知道,2017年天津整体空气质量只能是「良」中的下下等水平,与轻度污染近在咫尺。


02  AQI月均走势图


640


从月均的走势图就能看出,1月的空气质量最差,8月的空气质量最好,当也并不是有多好,充其量也就是个「良」!


03  AQI季度箱形图


640


箱形图,显示一组数据分散情况资料的统计图。


数据里有最大值、最小值、中位数和两个四分位数。


这里可以看出,2017年天津的季度AQI均值差距不是很大。


但是一、二、四季度有明显的波动,空气质量有时会变得很差。


04  PM2.5全年走势图


640


59.87是年均PM2.5值,已经远超过国家二级标准限值35了。


其实天津给我留下的印象就是天气经常灰蒙蒙,时常还会变点颜色,比如黄色~


一年下不了几次雨,及其干燥。所以那个最低值11,我猜那时候估计是刮大风。


05  PM2.5月均走势图


640


和AQI的走势差不多,同样是1月最高,8月最低。


06  PM2.5季度箱形图


640


说实话,看了这个图,我不知道天津的「大哥」及「姐姐」们是如何做到自强不吸的。


基本上四个季度都超标了,一年不超标的估计也就那么几次。


07  PM2.5指数日历图


640


640


640


日均PM2.5国家二级标准为75,从上面的热力图看,基本上轻度污染过半了。


另外一月还是重灾区,天色黄黄的...


其实每逢雾霾,基本上就是待宿舍了。而且1月份是考试月,刚好窝宿舍预习课本~


08  天津全年空气质量情况


640


和「轻度污染占了大头,「」只能在角落里瑟瑟发抖,足以说明空气之差。


不过该上课还是要上课,谁叫那时宿舍和教室离得近(走过去5分钟不到)。



/ 04 / 北上广深


01  北上广深AQI全年走势图


640

北京月均AQI最低也就50左右,看来今年全年差不多都在「」以下了。


不过相比前几年,京津冀空气已经好了不少(政策),真的。


上海和广州差不多,深圳与北京算是鲜明对比。


02  北上广深PM2.5全年走势图

640


北京一如既往的高调。


03  北上广深全年空气质量情况


640


深圳几乎都是「优」和「良」,上海和广州和上面说的一样,北京的「优」已经不少了。


那么你所在的城市空气质量又是如何?


关注数据科学俱乐部公众号后回复天气即可获取全部源码。


640?wx_fmt=jpeg

最近热门文章


抖音小姐姐视频爬虫


OpenCV神技——人脸检测、猫脸检测


Python爬虫基础:验证码的爬取和识别详解


Python对象的身份迷思:从全体公民到万物皆数


利用深度学习建立流失模型(附完整代码)


协同过滤的原理及Python实现


多种方法爬取猫眼电影并分析(附代码)


用Python分析豆瓣,评分最低的演员原来是他


投稿邮箱:pythonpost@163.com

640?wx_fmt=gif

Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

640?wx_fmt=jpeg

▼ 点击下方阅读原文免费成为社区会员

  • 9
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值