让咱们来看看如何建立一个可视化,显示二氧化碳浓度如何在大气中进化。首先,咱们从地球系统研究实验室网站获取以下: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 + 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的水平被认为是灾难性的。根据这一点,图表是一个悲伤的图片,说明水平如何从危险转变为灾难性的!url