中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python做AQI分析并可視化

發布時間:2021-11-26 09:56:18 來源:億速云 閱讀:651 作者:iii 欄目:大數據

這篇文章主要介紹“怎么用Python做AQI分析并可視化”,在日常操作中,相信很多人在怎么用Python做AQI分析并可視化問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python做AQI分析并可視化”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

  AQI 分析

  1、背景信息

  AOI( Air Quality Index),指空氣質量指數,用來衡量空氣清潔或污染的程度。值越小,表示空氣質量越好。近年來,因為環境問題,空氣質量也越來越受到人們的重視。我們期望能夠運用數據分析的相關技術,對全國城市空氣質量進行研究與分析,希望能夠解決如下疑問:

  哪些城市的空氣質量較好/較差?

  空氣質量在地理位置分布上,是否具有一定的規律性?

  城市的空氣質量與是否臨海是否有關?

  空氣質量主要受哪些因素影響?

  全國城市空氣質量普遍處于何種水平?

  分析報告預覽.GIF

怎么用Python做AQI分析并可視化

  現在獲取了2015年空氣質量指數集。該數據集包含全國主要城市的相關數據以及空氣質量指數。

  CityAQIPrecipitationGDP

  城市空氣質量指數降水量城市生產總值

  LongitudeLatitudeAltitudePopulation Density

  經度緯度海拔高度人口密集度

  TemperatureCoastalIncineration (10,000ton)Green Coverage Rate

  溫度是否臨海焚燒量/10000噸綠化率

  2、數據分析流程

  在進行數據分析之前,我們需要清楚數據分析的基本流程。

怎么用Python做AQI分析并可視化

  3、讀取數據

  導入需要的庫并初始化一些設置。

  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")

  加載數據集

怎么用Python做AQI分析并可視化

  4、數據清洗

  4.1 缺失值

  對于缺失值的處理 。可以使用如下方式:

  刪除缺失值

  僅適用于缺失數量很少的情況

  填充缺失值

  數值變量

  均值填充

  中值填充

  類別變量

  眾數填充

  單獨作為一個類別

  其他

  先用info()或innull()查看缺失值。

  再用skew()查看偏度信息,再畫個圖看看,注意distplot()不支持有空值數據繪制,所以必須先用dropna()將空值剔除。

怎么用Python做AQI分析并可視化

  可以看出,我們的原始數據有點右偏,因為缺失值只有4個,缺失數量很少,可以直接刪除,,但我們這次用了中位數來填充。

  4.2 異常值

  異常值如何發現?我們有這幾種方法:

  describe()

  箱線圖

  3σ方式

  其他相關異常檢測算法

  describe():

  調用dataframe對象的describe方法,會顯示數據的統計信息,讓自己了解下數據

怎么用Python做AQI分析并可視化

  可以看出GDP、Latitude、PopulationDensity的最大值與較大四分位數的差距異常巨大,存在右偏現象,即存在許多極大的異常值

  3σ

  3σ即3倍標準差,根據正態分布的特性,我們可以將3σ之外的數據視為異常值。以GDP為例,畫出GDP的偏度分布情況:

怎么用Python做AQI分析并可視化

  該數據出現嚴重右偏分布,也就是說存在很多極大的異常值,通過3σ法獲取這些異常值:

怎么用Python做AQI分析并可視化

  箱線圖

  通過箱線圖我們可以很直觀的看見存在很多極大的異常值,怎么判斷的呢?

  箱線圖異常值的判斷依據:

  Q1、Q2、Q3分別表示1/4分位數、2/4分位數、3/4分位數,IQR=Q3-Q1

  若數據小于Q1-1.5IQR或大于Q3+1.5IQR則為異常值。

怎么用Python做AQI分析并可視化

  找到異常怎么處理,通常有以下幾種方式:

  刪除異常值(不常用)

  視為缺失值處理

  對數轉換(適用于右偏,建模)

  臨界值替換

  分箱法離散化處理(分成不同區間映射成離散值)

  以對數轉換為例。

怎么用Python做AQI分析并可視化

  對數轉換適用于存在較大異常值的數據,即適用于右偏分布,不適用于左偏分布。

  4.3 重復值

  重復值的處理很簡單,使用duplicated查詢重復值,參數keep有三個值:"first"、False、"last".分別表示顯示第一條、所有、最后一天重復的記錄。

怎么用Python做AQI分析并可視化

  清洗完的數據可以直接導出。

  5 數據分析

  空氣質量的好壞有時候決定人的去留,擇校、就業、定居、旅游等等。

  首先來看最好和最壞的幾個城市

  5.1 空氣質量最好&最壞的幾個城市

  空氣最好的5個城市

  先按AQI排序,默認升序,取前5條記錄;x軸上的城市名稱需要旋轉45°,這樣便于查看。

怎么用Python做AQI分析并可視化

  上圖可以看出,空氣質量好的前5個城市:1.韶關市,2.南平市,3.梅州市,4.基隆市(臺灣省),5.三明市。全是南方城市。

  空氣最差的5個城市

怎么用Python做AQI分析并可視化

  上圖可以看出,空氣質量最差的前5個城市: 1.北京市,2.朝陽市,3.保定市,4.錦州市,5.焦作市。全是北方城市。

  5.2 全國部分城市的空氣質量

  5.2.1 空氣質量等級劃分:

怎么用Python做AQI分析并可視化

  首先我們需要定義一個函數,寫一些if語句,通過AQI的值來判斷空氣質量等級,

  這里需要用apply函數:申請調用我們自建的函數,返回值就是自建函數返回值。

怎么用Python做AQI分析并可視化

  從圖中可以看出,我國主要城市的空氣質量主要以一級和二級為主,三級占一部分,其他占少數。

  5.2.2 空氣質量指數分布情況

  調用scatterplot()繪制散點圖,以AQI區分,參數palette是調色,這里是綠色到紅色。

怎么用Python做AQI分析并可視化

  從圖中可以看出,從地理位置上來講,空氣質量南方城市優于北方城市,西部城市優于東部城市。

  5.3 城市的空氣質量與是否臨海是否有關?

  先來看看此數據中臨海與內陸城市的數量:

怎么用Python做AQI分析并可視化

  內陸城市數量遠大于臨海城市,這沒什么懸念,我們再來看下散點分布情況:

怎么用Python做AQI分析并可視化

  從圖中可以大概看出臨海城市空氣質量由于內陸。但是我們還是要靠數據說話,分組計算空氣質量的均值:

  要用到groupby()分組函數

怎么用Python做AQI分析并可視化

  臨海79,內陸64。但是信息太少,我們再畫個箱線圖和小提琴圖,來了解更多信息。

怎么用Python做AQI分析并可視化

  從箱線圖可看出,臨海城市的AQI的四分位值,最大值都比內陸城市低,所以臨海城市空氣質量相對于內陸城市要好。但是箱線圖對于數據分布密度不明顯。

  所以,繪制小提琴圖,既能展示箱線圖信息,又能呈現分布的密度。

  我們還可以將小提琴圖和分簇散點圖結合在一起看:

怎么用Python做AQI分析并可視化

  inner=None表示把“琴弦”去除。

  到這里我們能得出臨海城市空氣質量普遍好于內陸嗎?

  顯然是不能的,我們的數據只有幾百條,只是一個樣本,并不能代表總體,這是樣本與總體的差異性。

  那怎么得到一個可靠的結論呢? 我們需要對樣本做差異檢驗:

  對兩樣本做 t 檢驗,來查看臨海城市與內陸城市的均值差異是否顯著。在進行兩樣本檢驗時,我們需要知道兩樣本的方差是否一致才能進行后面的 t 檢驗

怎么用Python做AQI分析并可視化

  先導入相關庫,定義變量,stats.levene()方差齊性檢驗。返回兩個值:第一個是統計量不要看,,看第二個p值為0.77,說明接受原假設,方差是齊性的(原假設:兩樣本方差相等,備擇假設:方差不等),可以進行下一步了。

怎么用Python做AQI分析并可視化

  進行t檢驗時,兩樣本的方差是否相等,對結果有影響!ttest_ind():兩獨立樣本t檢驗,返回結果的p值只有0.007,很小,拒絕原假設(兩樣本不相等)。

  從統計量為負數可以看出,inland是大于coastal的。怎么算呢?在stats中提供的兩獨立樣本t檢驗是雙邊檢驗(=或≠),而現在我們要的是大于小于的關系(單邊檢驗),所以需要計算p值:stats.t.sf(),sf=1-cdf,cdf為累計分布函數,sf為殘存函數,自由度df。p值0.99666,說明coastal越小。

  到此為止,我們有超過99%的幾率可以認為空氣質量臨海城市普遍優于內陸。

  5.4 空氣質量主要受哪些因素影響?

  人口密度大是否對導致空氣質量低呢?

  綠化率高是否能提高空氣質量呢?

  先用pairplot()畫一個散點圖矩陣,取3列數據

怎么用Python做AQI分析并可視化

  對于不同變量的繪制散點圖,同變量的繪制直方圖,只表示數量。從上圖并不能明顯地看出變量之間的相關性, 我們需要通過計算相關系數來了解。

怎么用Python做AQI分析并可視化

  DataFrame對象提供了計算相關系數的方法,直接data.corr()即可     

怎么用Python做AQI分析并可視化

  再將數據可視化,更清晰的呈現數據:

怎么用Python做AQI分析并可視化

  結果統計

  從結果中可知,空氣質量指數主要受降雨量(-0.40) 與緯度(0.55) 影響。

  降雨量越多,空氣質量越好。

  緯度越低,空氣質量越好。

  此外,我們還能夠發現其他一些明顯的細節:

  GDP (城市生產總值)與Incineration (焚燒量)正相關(0.90) 。

  Temperature (溫度)與Precipitation (降雨量) 正相關(0.69) 。

  Temperature (溫度)與Latitude (緯度)負相關(-0.81)。

  Longitude (經度) 與Altitude (海拔) 負相關(-0.74) 。

  Latitude (緯度)與Precipitation (降雨量)負相關(-0.66) 。

  Temperature (溫度)與Altitude (海拔)負相關(-0.46) 。

  Altitude (海拔)與Precipitation (降雨量)負相關(-0.32) 。

到此,關于“怎么用Python做AQI分析并可視化”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杨浦区| 安义县| 玉门市| 娱乐| 上思县| 慈溪市| 汉源县| 富阳市| 从江县| 阳原县| 高安市| 黎平县| 察哈| 巴彦淖尔市| 东源县| 阿拉尔市| 黄骅市| 长岛县| 宝山区| 穆棱市| 仙游县| 永康市| 南安市| 景谷| 札达县| 德保县| 淳安县| 武威市| 广宁县| 多伦县| 湟源县| 安吉县| 崇州市| 吉林市| 合山市| 南通市| 米泉市| 汤原县| 万安县| 北海市| 白朗县|