Malaria is an acute febrile illness caused by Plasmodium parasites, which are spread to people through the bites of infected female Anopheles mosquitoes. There are 5 parasite species that cause malaria in humans, and 2 of these species – P. falciparum and P. vivax – pose the greatest threat. P. falciparum is the deadliest malaria parasite and the most prevalent on the African continent. P. vivax is the dominant malaria parasite in most countries outside of sub-Saharan Africa.
The first symptoms – fever, headache and chills – usually appear 10–15 days after the infective mosquito bite and may be mild and difficult to recognize as malaria. Left untreated, P. falciparum malaria can progress to severe illness and death within a period of 24 hours.
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.style as style
import seaborn as sns
from matplotlib.ticker import FuncFormatter
mal_rate = pd.read_csv("C:/Users/hunte/Desktop/R_Malaria/malaria-death-rates.csv")
mal_age = pd.read_csv("C:/Users/hunte/Desktop/R_Malaria/malaria-deaths-by-age.csv")
mal_rate.head()
Entity | Year | DeathRate | |
---|---|---|---|
0 | Afghanistan | 1990 | 0.83 |
1 | Afghanistan | 1991 | 1.57 |
2 | Afghanistan | 1992 | 1.75 |
3 | Afghanistan | 1993 | 0.71 |
4 | Afghanistan | 1994 | 1.35 |
mal_age.head()
Entity | Year | Deaths-70-Plus | Deaths-50-69 | Deaths-15-49 | Deaths-5-14 | Deaths-Under-5 | |
---|---|---|---|---|---|---|---|
0 | Afghanistan | 1990 | 5 | 19 | 46 | 3 | 21 |
1 | Afghanistan | 1991 | 11 | 38 | 94 | 6 | 41 |
2 | Afghanistan | 1992 | 12 | 44 | 125 | 8 | 51 |
3 | Afghanistan | 1993 | 5 | 17 | 58 | 3 | 24 |
4 | Afghanistan | 1994 | 9 | 33 | 110 | 7 | 52 |
africa_under_five = mal_age.loc[mal_age['Entity'] == 'African Region (WHO)',['Entity','Year','Deaths-Under-5']]
africa_under_five.head()
Entity | Year | Deaths-Under-5 | |
---|---|---|---|
30 | African Region (WHO) | 1990 | 447410 |
31 | African Region (WHO) | 1991 | 459072 |
32 | African Region (WHO) | 1992 | 465937 |
33 | African Region (WHO) | 1993 | 476788 |
34 | African Region (WHO) | 1994 | 483003 |
africa_under_five.plot(x="Year", y="Deaths-Under-5",figsize=(10,5))
plt.title("Malaria Death Rates in Africa \nfor Children Under 5")
plt.style.use('fivethirtyeight')
plt.xlabel('')
plt.legend([], frameon=False)
ax = plt.gca()
ax.tick_params(axis='both', colors='black', labelsize=14, length=0)
ax.set_yticks([0,100000,200000,300000,400000,500000,600000,700000])
g = ax.get_yticks()
plt.yticks(g[1:])
ax.get_yaxis().set_major_formatter(
FuncFormatter(lambda y,p: format(str(int(y/1000))+'K')))
ax.set_xticks([1990,2000,2010,2020])
plt.show()
# First create a new column with sum of older deaths
mal_age['Deaths-5-Plus'] = (mal_age['Deaths-70-Plus'] + mal_age['Deaths-50-69'] + mal_age['Deaths-15-49'] + mal_age['Deaths-5-14'])
mal_age.head()
Entity | Year | Deaths-70-Plus | Deaths-50-69 | Deaths-15-49 | Deaths-5-14 | Deaths-Under-5 | Deaths-5-Plus | |
---|---|---|---|---|---|---|---|---|
0 | Afghanistan | 1990 | 5 | 19 | 46 | 3 | 21 | 73 |
1 | Afghanistan | 1991 | 11 | 38 | 94 | 6 | 41 | 149 |
2 | Afghanistan | 1992 | 12 | 44 | 125 | 8 | 51 | 189 |
3 | Afghanistan | 1993 | 5 | 17 | 58 | 3 | 24 | 83 |
4 | Afghanistan | 1994 | 9 | 33 | 110 | 7 | 52 | 159 |
mal_age_compare = mal_age.loc[mal_age['Entity'] == 'African Region (WHO)',['Entity','Year','Deaths-Under-5','Deaths-5-Plus']]
mal_age_compare
Entity | Year | Deaths-Under-5 | Deaths-5-Plus | |
---|---|---|---|---|
30 | African Region (WHO) | 1990 | 447410 | 141099 |
31 | African Region (WHO) | 1991 | 459072 | 148258 |
32 | African Region (WHO) | 1992 | 465937 | 154509 |
33 | African Region (WHO) | 1993 | 476788 | 162147 |
34 | African Region (WHO) | 1994 | 483003 | 167970 |
35 | African Region (WHO) | 1995 | 491834 | 177150 |
36 | African Region (WHO) | 1996 | 500507 | 187760 |
37 | African Region (WHO) | 1997 | 510686 | 197500 |
38 | African Region (WHO) | 1998 | 520047 | 206356 |
39 | African Region (WHO) | 1999 | 529046 | 214134 |
40 | African Region (WHO) | 2000 | 543150 | 220696 |
41 | African Region (WHO) | 2001 | 563070 | 230434 |
42 | African Region (WHO) | 2002 | 569214 | 235292 |
43 | African Region (WHO) | 2003 | 585432 | 250026 |
44 | African Region (WHO) | 2004 | 588510 | 252878 |
45 | African Region (WHO) | 2005 | 575111 | 256065 |
46 | African Region (WHO) | 2006 | 573935 | 259683 |
47 | African Region (WHO) | 2007 | 568309 | 266928 |
48 | African Region (WHO) | 2008 | 563214 | 269067 |
49 | African Region (WHO) | 2009 | 556361 | 265380 |
50 | African Region (WHO) | 2010 | 540479 | 263551 |
51 | African Region (WHO) | 2011 | 511338 | 252905 |
52 | African Region (WHO) | 2012 | 485376 | 241944 |
53 | African Region (WHO) | 2013 | 462857 | 231582 |
54 | African Region (WHO) | 2014 | 431001 | 224613 |
55 | African Region (WHO) | 2015 | 409999 | 221382 |
56 | African Region (WHO) | 2016 | 380397 | 224169 |
57 | African Region (WHO) | 2017 | 351702 | 226624 |
58 | African Region (WHO) | 2018 | 341506 | 237047 |
59 | African Region (WHO) | 2019 | 342099 | 248154 |
mal_age_compare.plot(x='Year',y=['Deaths-Under-5','Deaths-5-Plus'],figsize=(10,5))
plt.title("Malaria Kills More Children \nUnder the Age of 5 Than All Other Ages Combined")
plt.legend(['Children Younger Than 5','Age 5 and Up'])
plt.xlabel('')
ax = plt.gca()
ax.tick_params(axis='both', colors='black', labelsize=14, length=0)
ax.set_yticks([0,100000,200000,300000,400000,500000,600000,700000])
g = ax.get_yticks()
plt.yticks(g[1:])
ax.get_yaxis().set_major_formatter(
FuncFormatter(lambda y,p: format(str(int(y/1000))+'K')))
ax.set_xticks([1990,2000,2010,2020])
ax.set_ylim(bottom=0)
plt.show()
mal_1990 = mal_rate.loc[mal_rate['Year'] == 1990].sort_values(by="DeathRate", ascending=False)
mal_1990 = list(mal_1990['Entity'].head(5))
mal_1990
['Sierra Leone', 'Mozambique', 'Burkina Faso', "Cote d'Ivoire", 'Uganda']
mal_2000 = mal_rate.loc[mal_rate['Year'] == 2000].sort_values(by="DeathRate", ascending=False)
mal_2000 = list(mal_2000['Entity'].head(5))
mal_2000
['Sierra Leone', 'Senegal', 'Burkina Faso', 'Liberia', "Cote d'Ivoire"]
mal_2010 = mal_rate.loc[mal_rate['Year'] == 2010].sort_values(by="DeathRate", ascending=False)
mal_2010 = list(mal_2010['Entity'].head(5))
mal_2010
['Sierra Leone', 'Burkina Faso', "Cote d'Ivoire", 'Niger', 'Nigeria']
mal_2019 = mal_rate.loc[mal_rate['Year'] == 2019].sort_values(by="DeathRate", ascending=False)
mal_2019 = list(mal_2019['Entity'].head(5))
mal_2019
['Sierra Leone', "Cote d'Ivoire", 'Liberia', 'Burkina Faso', 'Benin']
set(mal_1990) & set(mal_2000) & set(mal_2010) & set(mal_2019)
{'Burkina Faso', "Cote d'Ivoire", 'Sierra Leone'}
malaria_10_19 = mal_rate.loc[(mal_rate['Year'] == 2010) | (mal_rate['Year'] == 2019)]
malaria_10_19.head()
Entity | Year | DeathRate | |
---|---|---|---|
20 | Afghanistan | 2010 | 1.56 |
29 | Afghanistan | 2019 | 1.66 |
50 | African Region (WHO) | 2010 | 87.41 |
59 | African Region (WHO) | 2019 | 58.22 |
80 | Albania | 2010 | 0.00 |
malaria_10_19.isna().any()
Entity False Year False DeathRate False dtype: bool
malariaX = (malaria_10_19[['Entity']].join(malaria_10_19.groupby('Entity')['DeathRate'].pct_change().mul(100).rename('Percent Death Increase'))
.dropna())
print (malariaX)
Entity Percent Death Increase 29 Afghanistan 6.410256 59 African Region (WHO) -33.394348 209 Angola -4.376528 389 Azerbaijan -100.000000 479 Bangladesh -98.076923 ... ... ... 6719 World Bank Lower Middle Income -34.401832 6749 World Bank Upper Middle Income 8.333333 6779 Yemen -6.641124 6809 Zambia -16.273187 6839 Zimbabwe -61.530945 [98 rows x 2 columns]
m_list = malariaX.sort_values(by='Percent Death Increase', ascending=True).round(2).head(25)
m_list
Entity | Percent Death Increase | |
---|---|---|
5939 | Thailand | -100.00 |
389 | Azerbaijan | -100.00 |
689 | Bhutan | -100.00 |
719 | Bolivia | -100.00 |
5519 | South Korea | -100.00 |
4619 | Paraguay | -100.00 |
1319 | Costa Rica | -100.00 |
4019 | Nepal | -100.00 |
5969 | Timor | -99.97 |
479 | Bangladesh | -98.08 |
3929 | Myanmar | -97.64 |
6479 | Vanuatu | -97.63 |
1649 | East Asia & Pacific (WB) | -91.09 |
5729 | Suriname | -91.03 |
2699 | Indonesia | -90.67 |
4679 | Philippines | -89.19 |
1619 | Dominican Republic | -89.13 |
3119 | Laos | -88.74 |
6539 | Vietnam | -87.23 |
959 | Cambodia | -84.62 |
5399 | Solomon Islands | -80.48 |
2549 | Haiti | -79.73 |
2519 | Guyana | -76.41 |
1199 | Colombia | -73.33 |
1229 | Comoros | -70.78 |