• 你所在的城市空气质量如何?用Python可视化分析空气质量


    本文的文字及图片过滤网络,可以学习,交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

    以下文章来源于法纳斯特 ,作者法纳斯特

    Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

    https://space.bilibili.com/523606542

    前言

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

    无图无真相,下图为证。

     

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

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

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

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

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

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

    网页分析

     

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

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

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

     

     

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

    数据获取

    获取代码如下所示。

    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(1, 13):
        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 + '
    ')

    成功获取数据。

     

    天津

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

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

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

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

    AQI全年走势图

     

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

    AQI月均走势图

     

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

    AQI季度箱形图

     

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

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

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

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

    PM2.5全年走势图

     

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

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

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

    PM2.5月均走势图

     

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

    PM2.5季度箱形图

     

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

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

    PM2.5指数日历图

     

     

     

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

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

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

    天津全年空气质量情况

     

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

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

    北上广深

    北上广深AQI全年走势图

     

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

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

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

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

     

    北京一如既往的高调。

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

     

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

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

  • 相关阅读:
    C语言写的trim()函数
    TCP/IP和Socket的关系
    sizeof(数组名)和sizeof(指针)
    字符数组和结束符/0之间的关系
    C语言中二维字符数组的定义和初始化
    异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
    do{...}while(0)的意义和用法
    Mirror--如何在主库上增加文件
    曲苑杂坛--收缩数据库文件
    常用脚本--SQL Server获取OS日志
  • 原文地址:https://www.cnblogs.com/hhh188764/p/14197297.html
Copyright © 2020-2023  润新知