北京的雾霾这么严重,不得不用Python分析一波!原来PM2.5早变少

Posted fcxwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北京的雾霾这么严重,不得不用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早变少的主要内容,如果未能解决你的问题,请参考以下文章

北漂的生活 - python 面试

流程内耗的雾霾几时休?

流程内耗的雾霾几时休?

文本挖掘-避孕药主题情感分析

MongoDB中文社区年终盛典

day 56,Change