日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

广州空气质量数据分析

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 广州空气质量数据分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

廣州空氣質量數據分析

  • 一、背景
  • 二、提出問題
  • 三、數據處理
    • 3.1數據獲取
    • 3.2數據集描述
    • 3.3數據清洗
    • 3.3.2 零值處理
    • 3.3.3創建季節列
  • 四、問題分析及求解
    • 4.1問題一 廣州市的空氣質量總體情況如何?
    • 4.2問題二 廣州哪個季節的污染最嚴重?
    • 4.3問題三 空氣質量主要受哪些因素影響?
      • 4.3.1分析方法
      • 4.3.2實驗步驟
      • 4.3.3 結果分析
  • 五、結論
  • 六、參考文獻

摘要
通過獲取2017/01/01-2019/12/03三年來廣州空氣質量相關數據,使用python對數據進去數據清洗,使用python的pandas、 matplotlib和seaborn分析廣州近三年空氣質量變化趨勢為2018年空氣質量較2017年有所改善,2019年比2018年的AQI所降低;夏季空氣質量最好,秋季最差;空氣質量總體水平為良;利用SPSS和因子分析法分析影響廣州空氣質量的主要因素為PM10和O3。

一、背景

AQI(Air Quality Index),指空氣質量指數,用來衡量空氣清潔或污染的程度。值越小,表示空氣質量越好。近年來,因為環境問題,空氣質量也越來越受到人們的重視。空氣質量的好壞反映了空氣污染程度,它是依據空氣中污染物濃度的高低來判斷的。參與空氣質量評價的主要污染物為細顆粒物、可吸入顆粒物、二氧化硫、二氧化氮、臭氧、一氧化碳等六項。
以2017-2019年廣州市空氣質量歷史數據作為依據,查看廣州近三年空氣質量的變化趨勢,同時探究影響空氣質量的主要污染物。

二、提出問題

1.廣州市的空氣質量總體情況如何?
2.廣州哪個季節的污染最嚴重?
3.空氣質量主要受哪些因素影響?

三、數據處理

3.1數據獲取

使用python爬取2017-2019年廣州的空氣質量數據,共1035條。代碼如下:

# -*- coding:utf-8-*- #可以利用 webdriver 打開一個瀏覽器 from selenium import webdriver #使時間中止至指定時間 import time import csvdef search(url):#利用get()方法獲取網頁信息并返回return driver.get(url)def parse_one_page(page):#查找出網頁中全部的 tr 標簽并賦給 tr_listtr_list =driver.find_elements_by_tag_name('tr')return tr_listdef write_header():with open(r'd:\data.csv','a',newline="",encoding='utf8') as csvfile:header = ['日期', 'AQI', '質量等級', 'PM2', 'PM10', 'SO2', 'CO', 'NO2', 'O3']csv.writer(csvfile).writerow(header)def save_to_mysql(tr_list):#在 D 盤創建一個 TXT 格式文件with open(r'd:\data.csv','a',newline="",encoding='utf8') as csvfile:for i in range(1, len(tr_list)):#找出 tr_list 中的全部 td 標簽td_list =tr_list[i].find_elements_by_tag_name('td')data = td_list[0].textAQI = td_list[1].textsql = td_list[2].textPM2 = td_list[3].textPM10 = td_list[4].textSO2 = td_list[5].textCO = td_list[6].textNO2 = td_list[7].textO3 = td_list[8].text#將所得原始數據寫入上面建立的 csv 文件csv.writer(csvfile).writerow([data, AQI, sql, PM2, PM10, SO2, CO, NO2, O3]) def main():#實現交互,輸入城市和時間area = input('請輸入一個城市(例如[長春]):')year = input('請輸入一個年份(例如[2018]):')print('正在抓取'+ area + '市' + year + '年' + '空氣質量每日歷史數據:' )print('由于抓取數據較多,請您耐心等待:')#定義全局變量 driverglobal driver#打開 Chrome 瀏覽器driver = webdriver.Chrome()#利用循環獲取一年的原始數據#write_header()for i in range(1,13):if i<10:url ='https://www.aqistudy.cn/historydata/daydata.php?city={}&month={}0{}'.format(area,year,i)else:url ='https://www.aqistudy.cn/historydata/daydata.php?city={}&month={}{}'.format(area,year,i)page = search(url)time.sleep(1)tr_list = parse_one_page(page)save_to_mysql(tr_list)print('抓取完畢')print('文件存儲在D:\{}{}{}.csv'.format(area, year, '空氣質量')) if __name__ =='__main__':main()

3.2數據集描述

import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline df = pd.read_csv('D:\data.csv',encoding='gbk')

df.head() # 查看表格

圖3.2-1 查看表格數據

由圖3.2-1可知,數據集主要包括日期、AQI、空氣質量等級和六項污染物質的濃度:PM2.5(粒徑小于等于2.5μm的顆粒物,也稱細顆粒物),PM10(粒徑小于等于10μm的顆粒物,也稱可吸入顆粒物),SO2(二氧化硫),NO2(二氧化氮)以及CO(一氧化碳)的濃度全部為24小時平均值,O3濃度值為8小時的滑動平均值。其中,空氣質量指數標準如下圖2所示。

圖3.2-2 空氣質量指數標準

3.3數據清洗

3.3.1.缺失值處理

df.shape # 查看數據數量

df.info() 圖3.3.3-1 查看數據信息

由圖3.3-1可知,獲取的數據無缺失值

3.3.2 零值處理

日期,AQI,質量等級,PM2,PM10,SO2,CO,NO2,O3 目前存在0值,可理解為該部分數據缺失,可用廣州市對應數據的平均值進行填充,代碼如下:

df[['日期', 'AQI', '質量等級', 'PM2', 'PM10', 'SO2', 'CO', 'NO2', 'O3']] = df[['日期', 'AQI', '質量等級', 'PM2', 'PM10', 'SO2', 'CO', 'NO2', 'O3']].replace(0, np.NaN) df.isnull().sum() # 將0值替換后缺失值的數量 圖3.3.2-1 將0值替換后缺失值數量的結果截圖

由圖3.3.2-1可知,O3有12個缺失值,用其平均值替換,代碼如下

for column in list(df.columns[df.isnull().sum() > 0]):mean_val = df[column].mean()#用均值代替空值df[column].fillna(mean_val, inplace=True) df.isnull().sum() > 0#檢查替換后是否還有空值 圖3.3.2-2 檢查替換后是否還有空值

3.3.3創建季節列

#時間數據格式需要進行轉換,創建季節列; df['日期'] = pd.to_datetime(df['日期']) df.info() #查看time列的數據類型# 根據月份創建季節列 seasons = {12: 'Winter',1: 'Winter',2: 'Winter',3: 'Spring',4: 'Spring',5: 'Spring',6: 'Summer',7: 'Summer',8: 'Summer',9: 'Autumn',10: 'Autumn',11: 'Autumn' } df['season'] = df['日期'].apply(lambda x : seasons [x.month]) df.head() 3.3.3-1 由月份創建季節列截圖

四、問題分析及求解

4.1問題一 廣州市的空氣質量總體情況如何?

df.describe()#對數據進行簡單統計

圖4.1-1 df. describe()結果截圖

由圖4.1-1可知,廣州近三年平均空氣質量指數為72.889855,其處于50~100間,推測其空氣質量大致處于良好,其相關的六項污染物濃度的平均值和標準差中,PM10(mean=51.858937,std=26.208792)和O3(mean=94.326570,std=52.986327)的濃度較其他四項都偏高。

df_label=pd.pivot_table(df,index=['質量等級'],values=['AQI'],aggfunc=np.size,margins=True) df_label.columns=['頻數'] df_label['頻率']=df_label['頻數']/df_label.iloc[-1,0] df_label.sort_values(by=['頻數']) 圖4.1-2 質量等級頻數頻率統計

由圖4.1-2可知,廣州市空氣質量等級大多數為良,其次為優。

plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.xlabel('AQI') plt.ylabel('天數') plt.hist(df['AQI'],bins=[i*10 for i in range (1,int(max(df['AQI'])/10))]) 圖4.1-3 AQI頻數分布直方圖



圖4.1-3顯示,近三年,廣州有842天AQI處于20100之間。AQI在5060的天數最多。

df['Year']=[s[0:4] for s in df['日期']] sns.FacetGrid(df,hue='Year',size=6).map(sns.kdeplot,'AQI').add_legend() 圖4.1-4 各年份AQI密度曲線

# 提取年和月進一步分析整體AQI情況 times = df['日期'].shape[0] a = [] for _ in range(times):month = df['日期'][_].montha.append(month) df['month'] = a b = [] for i in range(times):year = df['日期'][i].yearb.append(year) df['year'] = b plt.figure(figsize=(40,10)) sns.barplot(x='month', y='AQI', hue='year', data=df) plt.style.use('dark_background') plt.ylim(0) plt.title('2017年~2109年廣州空氣質量1~12月對比') plt.show() 圖4.1-4 2017年~2109年廣州空氣質量1~12月對比

由圖4.1-4可知,廣州空氣質量近三年中9~11月較其他月份污染較嚴重,且在這三個月份中,2019年的空氣質量指數(AQI)比2017年和2018年的都高。2017年9月和2019年9、10月AQI>100,空氣質量出現輕度污染的現象。

df.groupby('year').AQI.mean().plot.bar(figsize=(10 ,8)) plt.title('空氣質量年變化') plt.xticks(rotation=0) plt.xlabel('年') plt.ylabel('AQI') plt.ylim(40) plt.legend('AQI') plt.grid(linestyle=':', color='w') plt.show(); 圖4.2-3空氣質量年變化

由圖4.2-3可知,2017年的AQI最大,次之為2019年,最小為2018年,且三年的AQI都小于100,空氣質量等級為良。

4.2問題二 廣州哪個季節的污染最嚴重?

pd.DataFrame(df.groupby('season').AQI.mean().sort_values()).plot.barh(figsize=(15,10)) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.title('不同季節空氣質量情況') plt.xlabel('AQI') plt.ylabel('季節') plt.xlim(60) plt.legend('AQI') plt.grid(linestyle=':', color='w') plt.show() df.groupby('season').AQI.mean().sort_values() 圖4.2-1 不同季節空氣質量情況

圖4.2-2 不同季節空氣質量的均值

由圖4.2-1和圖4.2-2可知,廣州在秋季污染較嚴重,其AQI為82.142857,空氣質量等級為良。

4.3問題三 空氣質量主要受哪些因素影響?

4.3.1分析方法

采用主成分分析法對空氣質量數據進行分析,主成分分析主要起到降維和簡化數據結構的作用,可以將原有的多個指標轉化成少數幾個代表性。較好的綜合指標,能夠反映原來指標大部分的信息,且各個指標之間保持獨立,避免出現重疊信息。主成分分析的基本步驟如下(1)原始數據標準化;(2)計算樣本協方差陣和相關陣;(3)計算樣本協方差陣和相關陣的特征值和特征向量;(4)計算貢獻率和累積貢獻率,確定選取主成分個數;(5)列出主成分方程并解釋主成分意義。運用SPSS軟件進行主成分分析。

4.3.2實驗步驟

(1)選擇菜單【分析→降維→因子分析】,出現如圖4.3.2-1所示的窗口。
(2)把參與因子分析的變量選到【變量(V)】框中。

圖4.3.2-1 因子分析窗口

(3)在圖4.3.2-1所示的窗口單擊【描述(D)】按鈕指定輸出結果,出現如圖4.3.2-2所示的窗口,【統計量】選擇【初始解】,【相關矩陣】選擇【系數】和【KMO和Bartlett的球形度檢驗(K)】。

圖4.3.2-2 因子分析描述窗口

(4)在圖4.3.2-1所示的窗口單擊【抽取】按鈕,出現如圖4.3.2-3所示的窗口,在【輸出】框中選擇碎石圖,在【提取】框中選擇【基于特征值(E)】

圖4.3.2-3 因子分析的抽取窗口

(5)在圖4.3.2-1所示的窗口單擊【得分】按鈕,出現如圖4.3.2-4所示的窗口,選擇【顯示因子得分系數矩陣】。

4.3.2-4 因子分析的得分窗口

4.3.3 結果分析

4.3.3-1 原有變量的相關系數矩陣

圖4.3.3-2 KMO 和巴特利特檢驗 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210315145942482.png#pic_center)

圖4.3.3-1可以看到大部分相關系數較高,各變量呈較強的線性關系,能夠從中提取公共因子,適合進行因子分析。圖4.3.3-2的顯著性接近0(<0.05),應拒絕原假設,認為相關系數矩陣與單位矩陣有顯著差異,原有變量適合進行因子分析。

圖4.3.3-3 因子分析的方差分析

圖4.3.3-3顯示PM10的提取率最大(達到0.914),次之為O3和PM2.5,提取率分別為0.896和0.891,說明這三個指標對廣州市的空氣污染起主導作用。

圖4.3.3-4 主成分分析顯示的總方差

圖4.3.3-4反映了各個成分解釋原始變量的總方差以及提取信息量的情況。因為成分1(方差貢獻率63.850%)、成分2(方差貢獻率19.096%)的初始特征根都大于1,而且它們已經包含了原始6個變量82.946%(>80%)的信息,所以選取成分1、成分2為主成分。

圖4.3.3-5 因子的碎石圖

圖4.3.3-5,橫坐標為因子編號,縱坐標為特征值,由圖可知,第一個因子的特征值很高,對解釋原有變量的貢獻度最大;第三個以后的因子特征值都較小,對解釋原有變量的貢獻度很小,表明可以提取兩個主成分。

圖4.3.3-6 因子載荷矩陣

圖4.3.3-6,在第一主成分中,PM10得分最高,為0.951,在第二主成分中,O3的分最高為0.893,可認為可認為 PM10和O3是廣州空氣質量的主要污染源。

圖4.3.3-7成分得分系數矩陣

由圖4.3.3-7可以得出成分得分方程組:
Y1 = 0.246X1+0.248X2+0.205X3+0.186X4-0.235X5+0.082X 6
Y 2 = -0.017X1+0.087X2-0.167X3-0.462X4-0.127X5+0.779X6
上式中X1 ~X6 表示對應污染物標準化后的樣本數據;Y1 、Y2 表示對應成分得分。由上式可以看出,主成分1中PM10得分系數較高,主成分2中O3得分系數明顯高于其他污染物,代表性顯著。

五、結論

2017年~2019年廣州市空氣質量為良的等級出現的頻率最高,占總天數的53.10%,其次為優,占25.41%,秋季空氣質量差,夏季好,其主要污染物為PM10和O3。

六、參考文獻

[1]張鑫童.滁州市空氣質量影響因素的主成分分析[J].安徽農學通報,2018,24(13):122-124+139.
[2]王未來,李明艷,過偉軍等.全國31個重點城市空氣質量特征分析[J].浙江預防醫學,2015,27(11):1110-1114.
[3]SPSS統計學分析方法及應用 薛薇編制
[4]姜新華,薛河儒,張存厚,張麗娜.基于主成分分析的呼和浩特市空氣質量影響因素研究[J].安全與環境工程,2016,23(01):75-79.
[5]張鑫童,徐姍,金華星,龔年祖.滁州市空氣質量指數(AQI)與氣象條件的關系分析[J].安徽農學通報,2017,25(14):161-165.

總結

以上是生活随笔為你收集整理的广州空气质量数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲视频四区 | 日韩精品一区二区三区免费视频 | 欧美性成人| 牛牛av在线 | 宿舍女女闺蜜调教羞辱 | 日本一区二区三区四区在线观看 | 俄罗斯丰满熟妇hd | chinese hd av| 亚洲毛片网 | 精久久久久 | 亚洲一区久久久 | 网友自拍av | 国产成人精品女人久久久 | 国产一区91精品张津瑜 | 在线观看日韩国产 | 无码人妻一区二区三区一 | 欧美一级全黄 | 校花被c到呻吟求饶 | 中文字幕在线网址 | 黄色一级大片 | 久久午夜夜伦鲁鲁片 | 国产做受入口竹菊 | 国产精品主播一区二区 | 欧美乱妇高清无乱码 | 好吊视频在线观看 | 亚洲一区精品在线观看 | 潘金莲一级淫片aaaaa武则天 | 亚洲国产中文字幕在线 | 久久国产热视频 | 国产一区免费观看 | 看黄色的网址 | 尤物国产视频 | 日本三级免费看 | 91久久精品夜夜躁日日躁欧美 | 精品一区三区 | 毛片视频大全 | av电影一区二区 | 少妇人妻丰满做爰xxx | jizzjizz在线| 精彩视频一区二区三区 | av一区二区三区免费观看 | 久久人人爽人人爽人人av | 草av | 欧美日韩va | 91性高潮久久久久久久久 | 日韩性在线 | 午夜精品一区二区三区免费视频 | 亚洲精品国产精华液 | 久久午夜场 | 精品人妻一区二区三区久久嗨 | 日韩网站免费观看 | 日本伊人网 | 91视频成人| 美女扒开屁股让男人桶 | 久草免费在线观看视频 | 国产成人免费av一区二区午夜 | 97香蕉久久超级碰碰高清版 | 亚洲男人的天堂网站 | 亚洲综合中文 | 精品久久久久一区二区国产 | 亚洲激情另类 | 一区二区三区福利 | 银娇在线观看 | 都市乱淫 | 三级成人 | 久久久成人精品一区二区三区 | 精品人妻伦一区二区三区久久 | 久久久久亚洲av无码网站 | 国产精品永久免费观看 | 色综合久久88色综合天天 | 一级黄色大毛片 | 欧美日韩免费 | 黑人3p波多野结衣在线观看 | 我看黄色一级片 | 亚洲图片视频在线 | 精品人成 | 最近最新中文字幕 | 亚洲一区欧美二区 | 在线观看久 | 天天天干| 国产一区二区三区四区视频 | 久久亚洲色图 | 日韩在线第三页 | 91嫩草在线 | 日本公与丰满熄 | 91黄瓜 | 亚洲av成人片色在线观看高潮 | 国产精品久久久久毛片软件 | 肉丝美脚视频一区二区 | 杨幂毛片午夜性生毛片 | 超碰人人爱人人 | 免费成人结看片 | 五月在线视频 | 色站综合| 国产精品456 | 少妇搡bbbb搡bbbb | 污视频在线播放 | 日韩精品免费在线观看 | 国产免费一区二区三区三州老师 |