1. 程式人生 > >北京的霧霾這麼嚴重,不得不用Python分析一波!原來PM2.5早變少

北京的霧霾這麼嚴重,不得不用Python分析一波!原來PM2.5早變少

但是隨著北京的大力治理,比如二氧化硫濃度降幅64.3%、淘汰167萬輛老舊機動車、城六區整治千條背街小巷、原生垃圾實現無害化處理等等措施,北京PM2.5下降近四分之一, 我們終將贏得藍天(來源北京娛樂信報)。

百度指數也給出了我們同樣結論。資料從2013年1月到2018年6月,PM2.5指數明顯在降低,也可以說是逐年減少。

環境

環境:MAC + Python3.6

IDE:Spyder

模組:matplotlib、pandas、numpy 、os、seaborn

資料集獲取

我們首先使用pandas包中read_csv檔案讀取資料集。該資料集包含2013年以來,美國大使館和我國給出的每一個月的 PM 值。然後使用pandas包中基本資料方法進行資料預覽,主要包括,資料集整體預覽、前10行檢視、資料檔案的基本資訊等。具體程式碼如下:

執行結果截圖如下

資料集共26280行,7列,佔用1.4M記憶體,資料型別為int or float。

每年平均值分析

根據上面的資料集,首先分析的是每年的平均值,檢視逐年變化情況。本次分析使用的技術點主要是分組,也就是根據年份(year)進行分組,然後使用柱形圖進行視覺化結果。從下面的兩個圖(PM chian mean vs PM us mean)可以看出,無論美國大使館還是我國給出的PM資料,每年的PM值都在減少,說明我國治理卓有成效,終將獲得藍天。

為了更方便檢視我國和美國使館檢測的每年平均PM2.5值的對比,我們可以使用python中的堆疊柱狀圖視覺化,如下圖所示。兩個機構給出的資料沒有很大的差異。具體的技術點主要是使用pandas包中的plot.bar函式,但是視覺化之前需要先分組處理資料。具體程式碼,可以回覆PM2.5獲得。

#堆疊柱狀圖視覺化
 filter_mean.plot.bar(stacked=True)
 plt.title('Mean PM 2.5')
 plt.tight_layout()
 plt.savefig(os.path.join(output_path,'filter_mean.png'))
 plt.show()

視覺化結果如下

每月以及每小時分析

從每月的分析看出,每年的11月、12月、1月最為嚴重。在每月裡面,早晚高峰的時間更為嚴重。本次視覺化的技術點是使用散點圖。

def analyze_dual_variables(data_df,var1,var2):
 '''
 檢視雙變數的關係,散點圖
 '''
sns.jointplot(x=var1,y=var2,data=data_df) plt.savefig(os.path.join(output_path,var1+'_'+var2+'_sandian.png')) plt.show()

執行效果圖

也可以使用透視表視覺化每一個月的PM, 具體如下

按小時分析

相關性分析

相關性分析主要用到的技術點是熱點圖,以及相關性計算。利用熱力圖可以看資料表裡多個特徵兩兩的相似度,具體程式碼如下:

def analyze_variable_relationship(data_df):
 '''
 視覺化變數關係
 熱圖
 '''
 #繪製出所有變數直接的關係,形成一個矩陣
 #corr計算相關係數
 corr_df = data_df.corr()
 #熱圖
 sns.heatmap(corr_df,annot=True)
 plt.savefig(os.path.join(output_path,'heatmap_df.png'))
 plt.show()

效果如下:

進群:125240963  即可獲取數十套PDF書籍!

相關推薦

北京這麼嚴重不得不用Python分析原來PM2.5

但是隨著北京的大力治理,比如二氧化硫濃度降幅64.3%、淘汰167萬輛老舊機動車、城六區整治千條背街小巷、原生垃圾實現無害化處理等等措施,北京PM2.5下降近四分之一, 我們終將贏得藍天(來源北京娛樂信報)。百度指數也給出了我們同樣結論。資料從2013年1月到2018年6月,PM2.5指數明顯在降低,也可以說

2018年蘇州房價都快超過上海了python技術實踐分析

最近在學習python,不禁感嘆其強大的資料處理能力,簡單幾句程式碼即可從網際網路中獲取千萬資料。生活在這個資料為王的時代,我們需要學習著如何將資料為我所用。 作為一個兩年研發三年產品的網際網路青年,依然對蘇州房價望而卻步。房價天天漲,剛需勇可追,但是什麼時候買?買

刷屏的北京2018 年北上廣深空氣質量分析

閱讀文字大概需要 6 分鐘。 新建Python軟體開發測試技術交友群QQ:952490269(加群備註software) 先對2017年天津的空氣質量情況進行分析,然後再是北上廣深。 / 01 / 網頁分析 網站沒有反爬,所以直接抓取資訊就好了。 這裡簡單給大家科普一下有關

用了Python這麼多年才發現 Python還有這8個鮮為人知的語法……

C++、Java大神Bruce Eckel幾個月前在中國之行中,毫不掩飾的表達了對Python的偏愛:“坦白來講,我最喜歡的語言是Python。每當我有問題需要被解決的時候我發現Python是最快可以給我結果的一個語言,所以我很喜歡,很享受Python。” 有資料顯示,2017年在僱主釋出的職位

Linux 還能這麼10 個非常有趣的命令

Linux當中有很多比較有趣的命令,可以動手看看,很簡單的。 1.rev命令 一行接一行地顛倒所輸入的字串。 執行: $rev 如輸入:shiyanlou shiyanlou   2.asciiview命令 1.先安裝aview

用了Python這麼多年才發現Python還有這8個鮮為人知的語法……

C++、Java大神Bruce Eckel幾個月前在中國之行中,毫不掩飾的表達了對Python的偏愛:“坦白來講,我最喜歡的語言是Python。每當我有問題需要被解決的時候我發現Python是最快可以給我結果的一個語言,所以我很喜歡,很享受Python。” 有資料顯示,2017年在僱主釋出的職位

網際網路行業程式設計師加班多嚴重95後快扛不住啦

有一種上班方式叫做總是加班,還有一種加班方式叫做,網際網路公司的加班。如果要用一張圖來展示,那各大廠加班的開啟方式是這樣的。 但是這種開啟方式實在是太過正經,一看就不符合網際網路公司自由奔放的氣質,所以其實正確開啟方式是下面這樣,有一種加班叫做阿里的007,你以為網際網路公司的上班方式還是

使用Python這麼多年才發現Python還有這些實用的功能和特點

在使用Python多年以後,我偶然發現了一些我們過去不知道的功能和特性。一些可以說是非常有用,但卻沒有充分利用。考慮到這一點,我編輯了一些你應該瞭解的Python功能特色。 帶任意數量引數的函式 你可能已經知道了Python允許你定義可選引數。但還有一個方法,可以定義

你技術這麼總要改變點什麼把

你技術這麼好,總要改變點什麼把! 這篇文章我很早就想寫了,工作至今(10年)我對於技術這個東西的體會也越來越多。今天觸發我動鍵盤敲字的是一個事情:我在準備做一個golang記憶體模型的ppt,準備節後給組內同學分享。但是過程中遇到問題,就谷歌了一下,搜出了我自己16年寫的一篇文章。。。我才記起來,16年我看雨

深入分析你們說的雲安全到底是什麽鬼?

基於 區塊鏈 workload 策略 直接 未來 國家 場景 大數據 雲安全到底是什麽?是傳統廠商的盒子的iso化?是雲廠商自身具備的安全能力?還是SaaS提供安全服務?這些觀點都比較片面,作為聊天話題還可以,但落地還需要認真討論。 一、雲安全標準 要想了解雲安全

rematch:當你受不了redux繁瑣寫法的時候是時候了解rematch了

gets nts exp creat dem root 訪問 常熟 不能 前言: 前段時間學習完react後,剛好就接到公司一個react項目的叠代,順便鞏固一下前段時間的學習成果。項目使用的是redux+react-router,將所有的數據都放在redux中,異步處理數

仙劍奇俠傳4 即將上線情懷黨集體走

《仙劍奇俠傳4》手遊是大宇授權,西山居研發,騰訊獨家發行的官方正版MMO手遊。經典還原仙劍劇情。是不是又勾起了很多仙劍迷的回憶呢?歷年來仙劍系列遊戲帶給我們太多感動,你又最喜歡哪個版本的呢?你是靈兒黨還是月如黨呢?   《仙劍奇俠傳》是由中國臺灣大宇資訊股份有限公司(簡稱“大

談起外掛都想不到python程式設計今天利用Python款吃雞輔助

  那麼我們就用python和R做資料分析來回答以下的靈魂發問? 首先來看下資料:           大吉大利,今晚吃雞~ 今天跟朋友玩了幾把吃雞,經歷了各種死法

高考數學必考知識點快速刷題上

四川省一位高考總分661的學霸,英語136,語文121,數學147,理綜257。告訴你如何突破高中數學瓶頸! 高三擠時間整理了一部分數學錯題,這樣不會大海撈針一樣的盲目複習。還有一些時候懶了,今天的任務就會放到明天,結果就放棄了,所以一定不能拖啊,一拖一拖就會放棄,例如背古詩詞,記單詞,當天

文藝程式設計師丨基於Python的詩和遠方我有python也有詩

  概述   學習Python中有不明白推薦加入交流群                 號:516107834          

菜鳥收藏13個Python慣用小技巧

Python的小技巧很多,入門容易精通難!在進階的路上,有沒有什麼好的技巧和好的方法,就是不斷總結,不斷記筆記!尤其是好的用法,就像寫作文一樣,好的名言警句要多背誦一些,寫作的時候,肚子裡的墨水多了才能才思泉湧,寫出更多的好程式碼。 1遍歷一個序列   評:Python中

設計模式大彙總是時候來複習

如果說在開發過程中有什麼需要反覆學習的,設計模式無疑排在第一位! 這段時間開始複習設計模式,所以,做了一個彙總,希望能夠時不時進行查閱複習一下 僅針對瞭解設計模式的目標使用者,如果還不瞭解,建議花些時間系統的學習一下 觀察者模式 描述:有時被稱作釋出/訂閱模式,觀察者模式

Elasticsearch學習請先看這(Elasticsearch教程01)|MVP講堂

作者:阿里雲MVP 銘毅 上節內容:死磕 Elasticsearch 方法論:普通程式設計師高效精進的 10 大狠招!下節連結:Elasticsearch增、刪、改、查操作深入詳解(Elasticsearch教程02) 題記:Elasticsearch研究有一段時間了,現特將Elasticsearch相關

Python崛起:“人生苦短我用Python”並非句戲言

這些年,程式語言的發展程序很快,在商業公司、開源社群兩股力量的共同推動下,湧現出諸如Go、Swift這類後起之秀,其中最為耀眼的是Python。 知名開發者網站Stackoverflow撰文指出,從2012至2017年程式語言Python成為開發者使用增長最快的主流程式語言

mybatisGenerator配置寫的很全面轉載

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configura