用Python看2018年北上廣深空氣質量

極簡XksA發表於2018-11-26

不知道什麼時候,“厚得載物,自強不息”變成了厚德載霧,自強不吸。

無圖無真相,下圖為證。

來一起用Python看看2018年北上廣深空氣質量分析~

用Python看2018年北上廣深空氣質量

左邊的圖是去年2月份的時候,這樣的空氣真的難得一見!

右邊的是吐槽以及我個人第一次買口罩!!!

口罩用的還行,因為那個時候做課設,經常要兩個校區跑,基本上空氣不好我就會帶上。

題目好像是有關液壓及氣壓的傳動系統,手畫A0圖...

這應該是快兩年前的事了,時光飛逝吶。

所以這回先對2017年天津的空氣質量情況進行分析,然後再是北上廣深。


/ 01 / 網頁分析


用Python看2018年北上廣深空氣質量

網站沒有反爬,所以直接抓取資訊就好了。

看見沒有,妥妥的嚴重汙染,2016年12月份買的口罩派上用場啦!

這裡簡單給大家科普一下有關AQI,PM2.5的知識。

用Python看2018年北上廣深空氣質量

用Python看2018年北上廣深空氣質量

又是重操舊業,我的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 = ' + 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 + '\n')

成功獲取資料。

用Python看2018年北上廣深空氣質量

/ 03 / 天津

同樣不上原始碼,這裡有必要說一波,因為我覺得原始碼放上去排版就不好看了...

其次我要秉承以前混跡P圈(PPT)得到的優良傳統,熱愛分享,百度雲盤你值得擁有。

所以公眾號回覆天氣。即可獲取全部視覺化原始碼及相關檔案。

以前天天去下載PPT大神的大作,然後觀摩,可惜的是PPT水平還是那麼菜~

01  AQI全年走勢圖

用Python看2018年北上廣深空氣質量

92.5是年均AQI值,從上面科普知識裡可以知道,2017年天津整體空氣質量只能是「良」中的下下等水平,與輕度汙染近在咫尺。

02  AQI月均走勢圖

用Python看2018年北上廣深空氣質量

從月均的走勢圖就能看出,1月的空氣質量最差,8月的空氣質量最好,當也並不是有多好,充其量也就是個「良」!

03  AQI季度箱形圖

用Python看2018年北上廣深空氣質量

箱形圖,顯示一組資料分散情況資料的統計圖。

資料裡有最大值、最小值、中位數和兩個四分位數。

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

但是一、二、四季度有明顯的波動,空氣質量有時會變得很差。

04  PM2.5全年走勢圖

用Python看2018年北上廣深空氣質量

59.87是年均PM2.5值,已經遠超過國家二級標準限值35了。

其實天津給我留下的印象就是天氣經常灰濛濛,時常還會變點顏色,比如黃色~

一年下不了幾次雨,及其乾燥。所以那個最低值11,我猜那時候估計是颳大風。

05  PM2.5月均走勢圖

用Python看2018年北上廣深空氣質量

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

06  PM2.5季度箱形圖

用Python看2018年北上廣深空氣質量

說實話,看了這個圖,我不知道天津的「大哥」及「姐姐」們是如何做到自強不吸的。

基本上四個季度都超標了,一年不超標的估計也就那麼幾次。

07  PM2.5指數日曆圖

用Python看2018年北上廣深空氣質量


用Python看2018年北上廣深空氣質量


用Python看2018年北上廣深空氣質量

日均PM2.5國家二級標準為75,從上面的熱力圖看,基本上輕度汙染過半了。

另外一月還是重災區,天色黃黃的...

其實每逢霧霾,基本上就是待宿舍了。而且1月份是考試月,剛好窩宿舍預習課本~

08  天津全年空氣質量情況

用Python看2018年北上廣深空氣質量

「良」和「輕度汙染」佔了大頭,「優」只能在角落裡瑟瑟發抖,足以說明空氣之差。

不過該上課還是要上課,誰叫那時宿舍和教室離得近(走過去5分鐘不到)。

/ 04 / 北上廣深

01  北上廣深AQI全年走勢圖

用Python看2018年北上廣深空氣質量

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

不過相比前幾年,京津冀空氣已經好了不少(政策),真的。

上海和廣州差不多,深圳與北京算是鮮明對比。

02  北上廣深PM2.5全年走勢圖

用Python看2018年北上廣深空氣質量

北京一如既往的高調。

03  北上廣深全年空氣質量情況

用Python看2018年北上廣深空氣質量

深圳幾乎都是「優」和「良」,上海和廣州和上面說的一樣,北京的「優」已經不少了。

那麼你所在的城市空氣質量又是如何?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556503/viewspace-2221595/,如需轉載,請註明出處,否則將追究法律責任。

相關文章