






摘要:空氣質量是影響人類健康和環境的重要因素。近年來,工業化和城市化進程加劇了空氣污染,對空氣質量進行有效監測和分析至關重要。本文利用Python爬取了濟南市2014—2023年的空氣質量數據,并運用數據可視化技術對AQI指數和主要污染物變化趨勢進行了分析,結果表明,濟南市空氣質量呈現持續改善的趨勢,同時存在顯著的季節性變化。研究為進一步優化空氣質量管理策略和制定污染防治政策提供了科學依據。
關鍵詞:空氣質量;Python;數據采集;可視化分析;AQI指數
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2025)09-0111-04 開放科學(資源服務) 標識碼(OSID) :
0 引言
隨著互聯網+的高速發展,全球數據規模呈爆發式增長,大數據時代已經到來[1]。在此背景之下,如何從海量數據中挖掘價值信息并進行可視化分析,已成為各行各業面臨的挑戰。
目前,我國工業化進程呈現出持續加強的態勢,大量的工業生產和能源消耗導致了大氣污染物的排放增加,包括顆粒物、二氧化硫、氮氧化物、揮發性有機物等。這些污染物的排放會直接影響空氣質量,加劇空氣污染問題。
基于以上兩點,本文收集了濟南市2014 年至2023年間的空氣質量數據,包括AQI指數(空氣質量指數) 、PM2.5(細顆粒物) 、PM10(可吸入顆粒物) 、SO2(二氧化硫) 、NO2(二氧化氮) 、CO(一氧化碳) 、O3(臭氧) 等指標,利用Python中的數據處理和可視化庫,對數據進行清洗、分析和可視化呈現并提出了一些改善空氣質量的建議,期望能為濟南市及其他城市的空氣質量管理和決策提供參考。
1 數據獲取與預處理1.1 數據獲取本文使用Python的requests和BeautifulSoup庫爬取網站http://www.tianqihoubao.com的濟南市空氣質量數據。
1) 網頁 URL分析
濟南市2014年1月份的空氣質量數據網址為http://www.tianqihoubao.com/aqi/jinan-201401.html,通過與2014年2月份、2015年1月份的空氣質量數據網址對比,發現三者的區別僅出現在“201401”“201402”“201501”,即年份和月份之間, 隨即編寫帶有年份year參數的函數代碼實現對網址的循環爬取,相關代碼如下:
將爬取的數據保存為CSV格式,共計3595條記錄,數據格式如表1所示。
1.2 數據預處理
對獲取的數據進行初步檢查,未發現缺失值。網站按AQI指數將空氣質量等級劃分為6類,分別對應AQI 指數為:優(0-50) 、良(51-100) 、輕度污染(101-150) 、中度污染(151-200) 、重度污染(201-300) 、嚴重污染(gt;300) 。在檢查數據時發現有31條AQI指數在201-300的數據記錄將空氣質量等級劃分為了嚴重污染,按照下面的代碼處理完成后,異常值也處理完畢,數據預處理工作基本完成。
mask = (data[′AQI 指數′] gt;= 201) amp; (data[′AQI 指數′] lt;= 300) amp; (data[′質量等級′] == ′嚴重污染′)
data.loc[mask, ′質量等級′] = ′重度污染′
2 數據可視化分析
2.1 Python可視化庫
數據可視化可以直觀地展示數據特征和規律,已成為數據分析的重要手段[2]。Python提供了豐富的可視化庫,從簡單的靜態圖表到復雜的交互式可視化,Python 均可實現。其中Matplotlib是最基礎和最常用的可視化庫,功能強大,適用于各種2D圖表,常用來繪制折線圖、散點圖、柱狀圖、直方圖、餅圖等;Seaborn基于Matplotlib,提供更高級的接口和美觀的默認樣式,常用來繪制熱力圖、箱線圖、分布圖、散點圖等。本文就以Matplotlib和Seaborn作為主要的Python可視化工具。
2.2 總體概況
“十三五”以來,濟南市生態環境系統深入學習貫徹習近平生態文明思想,堅持節約優先、保護優先、自然恢復的主方針,以改善環境質量為核心,全力打好大氣、水體、土壤污染防治三大戰役。近年來,濟南市的空氣質量狀況有所提升,各類污染物指標呈現下降趨勢,霧霾等惡劣天氣很少出現。
數據分析是挖掘數據價值的關鍵[3]。對濟南市2014年1月至2023年12月的數據進行分析,空氣質量等級為良的天數占比最大為53.0%,空氣質量等級為優的天數占比為11.5%,空氣質量等級為嚴重污染的天數僅占1.0%。縱觀這十年濟南市空氣質量等級分布情況可以發現,空氣質量等級為良的天數在全年中占比逐年增大,空氣質量等級為輕度污染天數的占比在逐年減小,尤其是2022年嚴重污染天數為0天,重度污染和中度污染天數的總和也僅為16天,占全年天數的4%,這與濟南市的空氣質量狀況日益提升的情況相符合。濟南市2014—2023年空氣質量等級頻率分布如圖1所示。濟南市2014—2023年度空氣質量等級分布如圖2所示。
2.3 AQI 指數的可視化分析
空氣質量指數(Air Quality Index) 是定量描述空氣質量狀況的指數,用于大氣環境質量評價以及污染控制和管理,其數值越大說明空氣污染狀況越嚴重,對人體健康的危害也就越大[4]。它通過監測某一段時間內PM2.5、PM10、SO2 等對象的平均濃度,得到其各自的AQI值,最大的值即為當時的空氣質量狀況。本文基于Python 的Matplotlib 和seaborn 庫,分別繪制出濟南市2014—2023年年度、月度平均AQI指數變化趨勢折線圖。
觀察變化趨勢,近十年濟南市年平均AQI指數整體呈現下降趨勢,但2023 年相較2022年年度平均AQI指數有抬頭趨勢。2014—2017年濟南市年度平均AQI指數雖然高于100,但一直保持下降的趨勢,尤其是2015—2016年年度平均AQI指數下降了100多,這與2015年,濟南市按照國家、省關于開展環境保護大檢查的有關要求,開展全市環境保護大檢查工作,查處了一大批環境違法行為有關。
觀察近十年濟南市月平均AQI指數變化趨勢可以發現有較強的季節性變化趨勢。本文將 12月至次年 2月定義為冬季,3-5 月為春季,6-8 月為夏季,9-11 月為秋季[5]。 濟南市 AQI 指數呈現冬季最高、夏季最低的季節性變化規律,秋季空氣質量優于春季,與夏季較為接近。濟南市2014—2023年年度、月度平均AQI指數變化趨勢如圖3所示。
2.4 6類污染物的可視化分析
基于濟南市2014—2023年PM2.5、PM10、SO2、NO2、CO、O3數據,分析得出濟南市排名前三的污染物分別為PM10、PM2.5、O3,其中2014 年PM10 的平均濃度高達175 μg/m3,CO這種污染物在濟南市濃度很低,基本與0持平。統計近十年六種主要污染物平均濃度,發現PM10、PM2.5、NO2、SO2四種污染物呈現下降趨勢,CO基本保持不變,而O3有輕微上升趨勢。
另外,統計結果顯示各污染物有一定的季節性變化,其中PM10和O3受季節性影響變化尤為明顯。PM10的平均濃度在冬季最高,能達到125μg/m3以上,夏季濃度最低但也達到75μg/m3,O3與之恰恰相反,其平均濃度在夏季最高,冬季最低,春秋兩季基本持平。PM2.5、NO2、SO2的平均濃度也在一定程度上受到季節性影響,呈現出冬季高,夏季低的情況,CO基本不受季節性的影響。
熱力圖能展示不同事物之間的相關性,熱力圖中的每個單元格表示兩個污染物之間的相關系數,數值范圍從-1到1。其中1表示完全正相關(即兩個變量總是一起增加或減少) ,-1表示完全負相關(即一個變量增加時另一個變量總是減少,反之亦然) ,0表示沒有相關性。本文通過繪制濟南市主要空氣污染物之間的相關性熱力圖得到以下信息:PM2.5和PM10相關系數為0.86,說明這兩種顆粒物之間存在很強的正相關性,通常一起升高或降低,PM2.5和CO、PM10和CO也有很強的正相關性;PM2.5和SO2、PM10和SO2、NO2和CO表現出弱相關性;臭氧(O3) 與PM2.5、PM10、SO2、NO2和CO 均表現出負相關性。濟南市各污染物年平均濃度變化趨勢及季節性變化趨勢如圖4所示。
3 結論與討論
通過對濟南市2014—2023年空氣質量及主要污染物的分析,得出以下結論。
① 近十年來,濟南市空氣質量持續改善,優良天數逐年增加,AQI指數及主要污染物濃度呈現下降趨勢。
② 空氣質量和污染物濃度表現出明顯的季節性變化,冬季污染最為嚴重,夏季空氣質量最佳,春秋兩季變化相對平穩。
③ 污染物間的相關性分析為空氣質量管理和政策制定提供了有力支持。例如,PM2.5與PM10濃度具有強正相關性,表明在減少PM2.5的同時可能也會降低PM10的濃度。而臭氧與其他污染物的負相關性提示,在減少某些污染物時需考慮對臭氧濃度的潛在影響。
總體來看,濟南市通過有效的政策實施和環境治理,空氣質量顯著改善,展現了生態文明建設的成效。然而,仍需關注季節性變化和主要污染物之間的聯動效應,尤其是在冬季污染嚴重的情況下,應采取針對性措施。未來的治理策略應在考慮多種污染物相互關系的基礎上,進一步提升治理效果,確保市民的健康與福祉。