發展中地區的氣候變化與糧食短缺: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