发展中地区的气候变化与粮食短缺:Python分析

  • 2019 年 10 月 31 日
  • 筆記

作者 | Sadrach Pierre

来源 | Medium

编辑 | 代码医生团队

今天讨论的最重要的环境问题之一是全球变暖。这是由于气候变暖对农作物产量,天气模式,海平面,野火事件和生态系统的影响。自1850年代开始保存记录以来,全球温度的上升速度比任何时候都快,到本世纪末,温度预计还会再上升1.8至5.8°C。全球变暖是由二氧化碳,甲烷,水蒸气,氯氟烃和一氧化二氮等温室气体的排放引起的。

这些气体对气候具有绝缘作用,导致大气捕获热量并温暖地球。这些气体中的许多是从工厂农业,汽车尾气,飞机尾气和化石燃料提取中释放出来的。

如果不迅速解决气候变化问题,生态系统将继续受到破坏,海平面将继续上升,农作物产量(粮食产量)将下降。关于粮食生产,预计由于气候变暖,农作物杂草,昆虫和害虫的侵害将增加。

气候变化可能会对发展中国家造成不利影响,在发展中国家,由于人满为患,粮食产量下降可能导致营养不良,人口流离失所和疾病传播加剧。

此外,世界卫生组织(WHO)声称,对于传染病而言,气候变化是一个威胁倍增因素:

它需要应对现有威胁,例如霍乱爆发,寨卡病毒蔓延到新的地理区域或干旱带来的严重营养不良等威胁,并加以增强。风险已为人所熟悉,但其影响在频率和严重性上有所放大。气候变化可以扩大传染病的分布,特别是通过蚊子和其他媒介传播的传染病,并导致其他疾病的出现。Nipah病毒和Hanta病毒作为人类病原体的出现可追溯到极端天气事件,这些极端事件迫使动物宿主离开其生态位并入侵人类住区。

耶鲁气候连接局还指出:

此外,温度升高会改变对某些病原体和毒素的暴露。考虑:生牡蛎中的沙门氏菌,弯曲杆菌,副溶血性弧菌和产毒真菌,它们在温暖的环境中都可能繁殖。大气中更多的二氧化碳也会减少某些农作物的膳食铁,锌,蛋白质以及其他大量和微量营养素。

考虑到气候变化对粮食生产和疾病传播的未来影响,关于气候变化影响的公众教育至关重要。在这篇文章中,将执行提供公众对气候变化数据的简单探索性分析datahub并提供全球作物产量数据ourworldindata.org。

首先导入python库Pandas:

import pandas as pd

将要看的第一个数据集是年度全球温度数据。可以将数据读入数据框并打印前五行:

df_global_temp = pd.read_csv("annual_temp.csv")  print(df_global_temp.head())

接下来,可以过滤数据,以便仅获取与NASA GISTEMP源相对应的记录:

df_global_temp = df_global_temp[df_global_temp['Source'] == 'GISTEMP'].reset_index()[["Source", "Year", "Mean"]]  print(df_global_temp.head())

接下来,可以绘制年平均温度与时间的关系图。首先导入python可视化软件包“ seaborn”,然后绘制时间序列的线图:

import seaborn as sns  sns.set()  sns.lineplot(df_global_temp['Year'], df_global_temp['Mean'])  plt.ylabel("Mean")  plt.title("Average Global Mean Temperature")

接下来,可以看看ourworldindata.org提供的全球大米和小麦的年度产量。将'rice-yield.csv'数据读入数据帧,并查看前五行:

df_rice = pd.read_csv("rice-yields.csv")  df_rice.head()

还可以查看一组独特的区域:

from collections import Counter  print(set(df_rice['Entity'].values))  print("NUMBER OF REGIONS: ", len(set(df_rice['Entity'].values)))

水稻产量数据集中的国家

共有148个区域。知道发展中地区更容易受到气候变化带来的风险的影响,缩小范围将是有益的。时代杂志指出,尼日利亚,海地,也门,菲律宾和斐济将面临气候变化的最严重后果。

考虑到这一点,可以从尼日利亚的大米生产开始:

df_rice = pd.read_csv("rice-yields.csv")  df_rice = df_rice[df_rice['Entity']=='Nigeria'].reset_index()[["Entity", "Code", "Year", ' (tonnes per hectare)']]  print(df_rice.head())

接下来,可以绘制1960-2014年尼日利亚水稻的作物产量:

sns.lineplot(df_rice['Year'], df_rice[' (tonnes per hectare)'])  plt.ylabel("Rice Production in Nigeria (tonnes per hectare)")  plt.title("Annual Rice production in Nigeria")

接下来,可以叠加尼日利亚的全球年度平均温度和水稻产量:

sns.set()  sns.lineplot(df_global_temp['Year'], df_global_temp['Mean'])  plt.ylabel("Mean")  plt.title("Average Global Mean Temperature and rice production in Nigeria")    sns.lineplot(df_rice['Year'], df_rice[' (tonnes per hectare)'])  plt.ylabel("Mean temperature/tonnes per hectare rice in Nigeria ")

有趣的是,在1987年至2006年之间,尼日利亚的稻米产量似乎出现了大幅下降。

还可以看一下海地的稻米生产:

df_rice = pd.read_csv("rice-yields.csv")  df_rice = df_rice[df_rice['Entity']=='Haiti'].reset_index()[["Entity", "Code", "Year", ' (tonnes per hectare)']]  print(df_rice.head())

可以看一下它与气候数据的叠加:

海地的稻米产量似乎也略有下降。

还可以看一下尼日利亚的小麦生产相同的土地:

df_wheat = pd.read_csv("wheat-yields.csv")  df_wheat = df_wheat[df_wheat['Entity']=='Nigeria'].reset_index()[["Entity", "Code", "Year", ' (tonnes per hectare)']]  print(df_rice.head())  sns.set()  sns.lineplot(df_global_temp['Year'], df_global_temp['Mean'])  plt.ylabel("Mean")  plt.title("Average Global Mean Temperature and wheat production in Nigeria")  sns.lineplot(df_wheat['Year'], df_wheat[' (tonnes per hectare)'])  plt.ylabel("Mean temperature/tonnes per hectare wheat in Nigeria ")

再次,尼日利亚的小麦产量似乎随着全球年度气温升高而下降。

此时需要进行更详尽的分析才能从数据中得出任何结论,但到目前为止,分析似乎与文献中的报道一致。将在这里结束分析,但可以随时查看其他地区的农作物产量以及datahub上提供的其他一些气候变化数据。

如前所述,除了影响农作物产量外,科学家们认为气候变化正在影响传染病的传播。这篇文章中的数据集和代码可在GitHub上找到。

https://github.com/spierre91/medium_code