专栏首页相约机器人发展中地区的气候变化与粮食短缺:Python分析

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

作者 | 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

本文分享自微信公众号 - 相约机器人(xiangyuejiqiren),作者:代码医生

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python和Plotly实用统计与可视化

    上周的一天,在谷歌上搜索“ Python的统计数据 ”,结果有些没有用。大多数文献,教程和文章都侧重于使用R进行统计,因为R是一种专门用于统计的语言,并且具有比...

    代码医生工作室
  • 构建没有数据集的辣辣椒分类器,准确性达到96%

    https://github.com/arditoibryan/Projects/upload

    代码医生工作室
  • 从小白到大师,这里有一份Pandas入门指南

    在阅读本文时,我建议你阅读每个你不了解的函数的文档字符串(docstrings)。简单的 Google 搜索和几秒钟 Pandas 文档的阅读,都会使你的阅读体...

    代码医生工作室
  • 资源 | 23种Pandas核心操作,你需要过一遍吗?

    Pandas 是基于 NumPy 构建的库,在数据处理方面可以把它理解为 NumPy 加强版,同时 Pandas 也是一项开源项目。它基于 Cython,因此读...

    CDA数据分析师
  • 资源 | 23种Pandas核心操作,你需要过一遍吗?

    Pandas 是基于 NumPy 构建的库,在数据处理方面可以把它理解为 NumPy 加强版,同时 Pandas 也是一项开源项目。它基于 Cython,因此读...

    机器之心
  • 资源 | 23种Pandas核心操作,你需要过一遍吗?

    Pandas 是基于 NumPy 构建的库,在数据处理方面可以把它理解为 NumPy 加强版,同时 Pandas 也是一项开源项目。它基于 Cython,因此读...

    昱良
  • 十分钟掌握Pandas基本操作(下)

    对于Pandas的基本操作我们就总结到这里,这个数据集还可以用来做机器学习,把宝可梦的类型作为标签来预测,或是把是否是神兽作为标签来做二分类等等,我们下回见。

    老肥码码码
  • 数据分析实战—北京二手房房价分析(建模篇)

    本篇将继续上一篇数据分析之后进行数据挖掘建模预测,这两部分构成了一个简单的完整项目。结合两篇文章通过数据分析和挖掘的方法可以达到二手房屋价格预测的效果。

    用户2769421
  • Day04| 第四期-谷歌应用商店的App分析

    我们每天都在使用从手机应用商店里下载的App,有没有想过什么样的App是最受欢迎的呢?一个最直接的方法,就是前往应用商店,对App的属性进行分析,得出受欢迎的应...

    DataScience
  • pandas入门①数据统计

    本指南直接来自pandas官方网站上的10分钟pandas指南。 我将它改写以使代码更易于访问。 本指南适用于之前未使用pandas的初学者。

    用户1359560

扫码关注云+社区

领取腾讯云代金券