可视化大气二氧化碳

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

将 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  + 1,12))*  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 =(10,14))
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((0,12))
plt。colorbar()。set_label('大气中的二氧化碳浓度ppm')
plt。show()

co2_heatmap_m.png

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

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


猜你喜欢

转载自blog.51cto.com/14009535/2383288