可视化大气二氧化碳

让咱们来看看如何建立一个可视化,显示二氧化碳浓度如何在大气中进化。首先,咱们从地球系统研究实验室网站获取以下:html

 pandas 导入 pd
 
data_url = 'ftp://aftp.cmdl.noaa.gov/products/trends/co2/co2_weekly_mlo.txt'
co2_data = pd。read_csv(data_url,sep = '\ s +',comment = '#',na_values = - 999.99
 names = [ 'year''month''day''decimal''ppm'
 'days''1_yr_ago''10_yr_ago''since_1800' ])
 
co2_data [ 'timestamp' ] = co2_data。申请(拉姆达 X:PD。时间戳(年 = INT(X,年),
 一个月 = INT(X。一个月),
 天 = INT(X。天)),
 轴 = 1
co2_data = co2_data [[ 'timestamp''ppm' ]]。set_index('timestamp')。ffill()

而后,咱们按年份和月份对其进行分组,同时将结果存储在矩阵中,其中每一个元素表明特定年份和月份的浓度:安全

导入 numpy  np
导入 matplotlib。做为plt的pyplot 
 日历 导入 month_abbr
 
co2_data = co2_data [ '1975''2018' ]
n_years = co2_data。指数。一年。max()- co2_data。指数。一年。min()
z = np。那些((n_years + 112))* NP。分钟(co2_data。PPM)
对于 d,y  co2_data中。GROUPBY([ co2_data。指数。今年,co2_data。指数。月):
 z [ co2_data。指数。一年。max()- d [ 0 ],d [ 1 ] - 1 ] = y。mean()[ 0 ]
 
plt。图(figsize =(1014))
plt。令pColor(NP。flipud(Ž),CMAP = 'hot_r' 
plt。yticks(NP。人气指数(0,n_years + 1)+ 0.5
 范围(co2_data。索引。年。分钟(),co2_data。索引。年。最大()+ 1));
plt。xticks(NP。人气指数(13)- 0.5,month_abbr)
plt。XLIM((012))
plt。colorbar()。set_label('大气中的二氧化碳浓度ppm'
plt。show()

这种可视化使咱们可以一目了然地逐月比较二氧化碳水平。例如,咱们看到4月到6月的时期比其余时期更快,这意味着它每一年都包含最高级别。相反,从9月到10月的时期变得更加缓慢,这意味着它是二氧化碳水平最低的时期。此外,看着颜色条咱们注意到43年来增长了80 ppm。网站

这对地球有害吗?阅读汉森等人。(2008年)咱们能够将低于300 ppm的二氧化碳水平分类为安全,水平在300和350 ppm之间是危险的,而超过350 ppm的水平被认为是灾难性的。根据这一点,图表是一个悲伤的图片,说明水平如何从危险转变为灾难性的!url