让我们来看看如何创建一个可视化,显示二氧化碳浓度如何在大气中进化。首先,我们从地球系统研究实验室网站获取如下:
将 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()
这种可视化使我们能够一目了然地逐月比较二氧化碳水平。例如,我们看到4月到6月的时期比其他时期更快,这意味着它每年都包含最高级别。相反,从9月到10月的时期变得更加缓慢,这意味着它是二氧化碳水平最低的时期。此外,看着颜色条我们注意到43年来增加了80 ppm。
这对地球有害吗?阅读汉森等人。(2008年)我们可以将低于300 ppm的二氧化碳水平分类为安全,水平在300和350 ppm之间是危险的,而超过350 ppm的水平被认为是灾难性的。根据这一点,图表是一个悲伤的图片,说明水平如何从危险转变为灾难性的!