這篇文章主要介紹“怎么用Python做AQI分析并可視化”,在日常操作中,相信很多人在怎么用Python做AQI分析并可視化問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用Python做AQI分析并可視化”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),興安盟網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:興安盟等地區(qū)。興安盟做網(wǎng)站價(jià)格咨詢:028-86922220
AQI 分析
1、背景信息
AOI( Air Quality Index),指空氣質(zhì)量指數(shù),用來(lái)衡量空氣清潔或污染的程度。值越小,表示空氣質(zhì)量越好。近年來(lái),因?yàn)榄h(huán)境問題,空氣質(zhì)量也越來(lái)越受到人們的重視。我們期望能夠運(yùn)用數(shù)據(jù)分析的相關(guān)技術(shù),對(duì)全國(guó)城市空氣質(zhì)量進(jìn)行研究與分析,希望能夠解決如下疑問:
哪些城市的空氣質(zhì)量較好/較差?
空氣質(zhì)量在地理位置分布上,是否具有一定的規(guī)律性?
城市的空氣質(zhì)量與是否臨海是否有關(guān)?
空氣質(zhì)量主要受哪些因素影響?
全國(guó)城市空氣質(zhì)量普遍處于何種水平?
分析報(bào)告預(yù)覽.GIF

現(xiàn)在獲取了2015年空氣質(zhì)量指數(shù)集。該數(shù)據(jù)集包含全國(guó)主要城市的相關(guān)數(shù)據(jù)以及空氣質(zhì)量指數(shù)。
CityAQIPrecipitationGDP
城市空氣質(zhì)量指數(shù)降水量城市生產(chǎn)總值
LongitudeLatitudeAltitudePopulation Density
經(jīng)度緯度海拔高度人口密集度
TemperatureCoastalIncineration (10,000ton)Green Coverage Rate
溫度是否臨海焚燒量/10000噸綠化率
2、數(shù)據(jù)分析流程
在進(jìn)行數(shù)據(jù)分析之前,我們需要清楚數(shù)據(jù)分析的基本流程。

3、讀取數(shù)據(jù)
導(dǎo)入需要的庫(kù)并初始化一些設(shè)置。
1 import numpy as np
2 import pandas as pd
3 import matplotlib.pyplot as plt
4 import seaborn as sns
5 import warnings
6 sns.set() 7 plt.rcParams["font.family"]="simHei" #用于解決中文顯示不了的問題
8 plt.rcParams["axes.unicode_minus"]=False
9 warnings.filterwarnings("ignore")
加載數(shù)據(jù)集

4、數(shù)據(jù)清洗
4.1 缺失值
對(duì)于缺失值的處理 。可以使用如下方式:
刪除缺失值
僅適用于缺失數(shù)量很少的情況
填充缺失值
數(shù)值變量
均值填充
中值填充
類別變量
眾數(shù)填充
單獨(dú)作為一個(gè)類別
其他
先用info()或innull()查看缺失值。
再用skew()查看偏度信息,再畫個(gè)圖看看,注意distplot()不支持有空值數(shù)據(jù)繪制,所以必須先用dropna()將空值剔除。

可以看出,我們的原始數(shù)據(jù)有點(diǎn)右偏,因?yàn)槿笔е抵挥?個(gè),缺失數(shù)量很少,可以直接刪除,,但我們這次用了中位數(shù)來(lái)填充。
4.2 異常值
異常值如何發(fā)現(xiàn)?我們有這幾種方法:
describe()
箱線圖
3σ方式
其他相關(guān)異常檢測(cè)算法
describe():
調(diào)用dataframe對(duì)象的describe方法,會(huì)顯示數(shù)據(jù)的統(tǒng)計(jì)信息,讓自己了解下數(shù)據(jù)

可以看出GDP、Latitude、PopulationDensity的最大值與較大四分位數(shù)的差距異常巨大,存在右偏現(xiàn)象,即存在許多極大的異常值
3σ
3σ即3倍標(biāo)準(zhǔn)差,根據(jù)正態(tài)分布的特性,我們可以將3σ之外的數(shù)據(jù)視為異常值。以GDP為例,畫出GDP的偏度分布情況:

該數(shù)據(jù)出現(xiàn)嚴(yán)重右偏分布,也就是說存在很多極大的異常值,通過3σ法獲取這些異常值:

箱線圖
通過箱線圖我們可以很直觀的看見存在很多極大的異常值,怎么判斷的呢?
箱線圖異常值的判斷依據(jù):
Q1、Q2、Q3分別表示1/4分位數(shù)、2/4分位數(shù)、3/4分位數(shù),IQR=Q3-Q1
若數(shù)據(jù)小于Q1-1.5IQR或大于Q3+1.5IQR則為異常值。

找到異常怎么處理,通常有以下幾種方式:
刪除異常值(不常用)
視為缺失值處理
對(duì)數(shù)轉(zhuǎn)換(適用于右偏,建模)
臨界值替換
分箱法離散化處理(分成不同區(qū)間映射成離散值)
以對(duì)數(shù)轉(zhuǎn)換為例。

對(duì)數(shù)轉(zhuǎn)換適用于存在較大異常值的數(shù)據(jù),即適用于右偏分布,不適用于左偏分布。
4.3 重復(fù)值
重復(fù)值的處理很簡(jiǎn)單,使用duplicated查詢重復(fù)值,參數(shù)keep有三個(gè)值:"first"、False、"last".分別表示顯示第一條、所有、最后一天重復(fù)的記錄。

清洗完的數(shù)據(jù)可以直接導(dǎo)出。
5 數(shù)據(jù)分析
空氣質(zhì)量的好壞有時(shí)候決定人的去留,擇校、就業(yè)、定居、旅游等等。
首先來(lái)看最好和最壞的幾個(gè)城市
5.1 空氣質(zhì)量最好&最壞的幾個(gè)城市
空氣最好的5個(gè)城市
先按AQI排序,默認(rèn)升序,取前5條記錄;x軸上的城市名稱需要旋轉(zhuǎn)45°,這樣便于查看。

上圖可以看出,空氣質(zhì)量好的前5個(gè)城市:1.韶關(guān)市,2.南平市,3.梅州市,4.基隆市(臺(tái)灣省),5.三明市。全是南方城市。
空氣最差的5個(gè)城市

上圖可以看出,空氣質(zhì)量最差的前5個(gè)城市: 1.北京市,2.朝陽(yáng)市,3.保定市,4.錦州市,5.焦作市。全是北方城市。
5.2 全國(guó)部分城市的空氣質(zhì)量
5.2.1 空氣質(zhì)量等級(jí)劃分:

首先我們需要定義一個(gè)函數(shù),寫一些if語(yǔ)句,通過AQI的值來(lái)判斷空氣質(zhì)量等級(jí),
這里需要用apply函數(shù):申請(qǐng)調(diào)用我們自建的函數(shù),返回值就是自建函數(shù)返回值。

從圖中可以看出,我國(guó)主要城市的空氣質(zhì)量主要以一級(jí)和二級(jí)為主,三級(jí)占一部分,其他占少數(shù)。
5.2.2 空氣質(zhì)量指數(shù)分布情況
調(diào)用scatterplot()繪制散點(diǎn)圖,以AQI區(qū)分,參數(shù)palette是調(diào)色,這里是綠色到紅色。

從圖中可以看出,從地理位置上來(lái)講,空氣質(zhì)量南方城市優(yōu)于北方城市,西部城市優(yōu)于東部城市。
5.3 城市的空氣質(zhì)量與是否臨海是否有關(guān)?
先來(lái)看看此數(shù)據(jù)中臨海與內(nèi)陸城市的數(shù)量:

內(nèi)陸城市數(shù)量遠(yuǎn)大于臨海城市,這沒什么懸念,我們?cè)賮?lái)看下散點(diǎn)分布情況:

從圖中可以大概看出臨海城市空氣質(zhì)量由于內(nèi)陸。但是我們還是要靠數(shù)據(jù)說話,分組計(jì)算空氣質(zhì)量的均值:
要用到groupby()分組函數(shù)

臨海79,內(nèi)陸64。但是信息太少,我們?cè)佼媯€(gè)箱線圖和小提琴圖,來(lái)了解更多信息。

從箱線圖可看出,臨海城市的AQI的四分位值,最大值都比內(nèi)陸城市低,所以臨海城市空氣質(zhì)量相對(duì)于內(nèi)陸城市要好。但是箱線圖對(duì)于數(shù)據(jù)分布密度不明顯。
所以,繪制小提琴圖,既能展示箱線圖信息,又能呈現(xiàn)分布的密度。
我們還可以將小提琴圖和分簇散點(diǎn)圖結(jié)合在一起看:

inner=None表示把“琴弦”去除。
到這里我們能得出臨海城市空氣質(zhì)量普遍好于內(nèi)陸嗎?
顯然是不能的,我們的數(shù)據(jù)只有幾百條,只是一個(gè)樣本,并不能代表總體,這是樣本與總體的差異性。
那怎么得到一個(gè)可靠的結(jié)論呢? 我們需要對(duì)樣本做差異檢驗(yàn):
對(duì)兩樣本做 t 檢驗(yàn),來(lái)查看臨海城市與內(nèi)陸城市的均值差異是否顯著。在進(jìn)行兩樣本檢驗(yàn)時(shí),我們需要知道兩樣本的方差是否一致才能進(jìn)行后面的 t 檢驗(yàn)

先導(dǎo)入相關(guān)庫(kù),定義變量,stats.levene()方差齊性檢驗(yàn)。返回兩個(gè)值:第一個(gè)是統(tǒng)計(jì)量不要看,,看第二個(gè)p值為0.77,說明接受原假設(shè),方差是齊性的(原假設(shè):兩樣本方差相等,備擇假設(shè):方差不等),可以進(jìn)行下一步了。

進(jìn)行t檢驗(yàn)時(shí),兩樣本的方差是否相等,對(duì)結(jié)果有影響!ttest_ind():兩獨(dú)立樣本t檢驗(yàn),返回結(jié)果的p值只有0.007,很小,拒絕原假設(shè)(兩樣本不相等)。
從統(tǒng)計(jì)量為負(fù)數(shù)可以看出,inland是大于coastal的。怎么算呢?在stats中提供的兩獨(dú)立樣本t檢驗(yàn)是雙邊檢驗(yàn)(=或≠),而現(xiàn)在我們要的是大于小于的關(guān)系(單邊檢驗(yàn)),所以需要計(jì)算p值:stats.t.sf(),sf=1-cdf,cdf為累計(jì)分布函數(shù),sf為殘存函數(shù),自由度df。p值0.99666,說明coastal越小。
到此為止,我們有超過99%的幾率可以認(rèn)為空氣質(zhì)量臨海城市普遍優(yōu)于內(nèi)陸。
5.4 空氣質(zhì)量主要受哪些因素影響?
人口密度大是否對(duì)導(dǎo)致空氣質(zhì)量低呢?
綠化率高是否能提高空氣質(zhì)量呢?
先用pairplot()畫一個(gè)散點(diǎn)圖矩陣,取3列數(shù)據(jù)

對(duì)于不同變量的繪制散點(diǎn)圖,同變量的繪制直方圖,只表示數(shù)量。從上圖并不能明顯地看出變量之間的相關(guān)性, 我們需要通過計(jì)算相關(guān)系數(shù)來(lái)了解。

DataFrame對(duì)象提供了計(jì)算相關(guān)系數(shù)的方法,直接data.corr()即可

再將數(shù)據(jù)可視化,更清晰的呈現(xiàn)數(shù)據(jù):

結(jié)果統(tǒng)計(jì)
從結(jié)果中可知,空氣質(zhì)量指數(shù)主要受降雨量(-0.40) 與緯度(0.55) 影響。
降雨量越多,空氣質(zhì)量越好。
緯度越低,空氣質(zhì)量越好。
此外,我們還能夠發(fā)現(xiàn)其他一些明顯的細(xì)節(jié):
GDP (城市生產(chǎn)總值)與Incineration (焚燒量)正相關(guān)(0.90) 。
Temperature (溫度)與Precipitation (降雨量) 正相關(guān)(0.69) 。
Temperature (溫度)與Latitude (緯度)負(fù)相關(guān)(-0.81)。
Longitude (經(jīng)度) 與Altitude (海拔) 負(fù)相關(guān)(-0.74) 。
Latitude (緯度)與Precipitation (降雨量)負(fù)相關(guān)(-0.66) 。
Temperature (溫度)與Altitude (海拔)負(fù)相關(guān)(-0.46) 。
Altitude (海拔)與Precipitation (降雨量)負(fù)相關(guān)(-0.32) 。
到此,關(guān)于“怎么用Python做AQI分析并可視化”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
分享標(biāo)題:怎么用Python做AQI分析并可視化
文章路徑:http://chinadenli.net/article16/jhgedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)