import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from IPython.display import Markdown


dfg = pd.read_csv('dfg.csv')
df = pd.read_csv('df.csv')

cols = ['country','population','population_2015','totalproviders','totalproviders2015','totalproviders_cap','totalproviders2015_cap','totalproviders_cap_diff','totalprovidersdiff','certified_specialist','provider_number','totalpap','physicians2015','totalpap_cap','physicians2015_cap', 'totalnpap','nurses2015','totalnpap_cap','nurses2015_cap','popdiff']
printinfocols = ['country','name','email','role','certified_specialist','provider_number','nurse_num','nurse_num2','nurse_num3','nurse_num4','other_1']

def countryinvestigation(country):
    df = dfg[dfg['country']==country][cols]
    sns.set_theme(style="whitegrid")
    fig, ax = plt.subplots(3,3,figsize=(10,10))
    
    # Paps
    pap = df[['physicians2015', 'certified_specialist','provider_number','totalpap']].melt()
    sns.barplot(x='variable',y='value',data=pap,ax=ax[0,0])
    ax[0,0].bar_label(ax[0,0].containers[0])
    #set xtick rotation
    ax[0,0].tick_params(axis='x', rotation=30)
    
    # Npaps
    npap = df[['nurses2015', 'totalnpap']].melt()
    sns.barplot(x='variable',y='value',data=npap,ax=ax[0,1])
    ax[0,1].bar_label(ax[0,1].containers[0])
    
    # Total Providers
    providers = df[['totalproviders2015', 'totalproviders']].melt()
    sns.barplot(x='variable',y='value',data=providers,ax=ax[0,2])
    ax[0,2].bar_label(ax[0,2].containers[0])
    
    # Pap Cap
    papcap = df[['physicians2015_cap', 'totalpap_cap']].melt()
    sns.barplot(x='variable',y='value',data=papcap,ax=ax[1,0])
    ax[1,0].bar_label(ax[1,0].containers[0])
    
    # Npap Cap
    npapcap = df[['nurses2015_cap', 'totalnpap_cap']].melt()
    sns.barplot(x='variable',y='value',data=npapcap,ax=ax[1,1])
    ax[1,1].bar_label(ax[1,1].containers[0])
    
    # Total Providers Cap
    providerscap = df[['totalproviders2015_cap', 'totalproviders_cap']].melt()
    sns.barplot(x='variable',y='value',data=providerscap,ax=ax[1,2])
    ax[1,2].bar_label(ax[1,2].containers[0])
    
    # Population
    population = df[['population_2015', 'population']].melt()
    sns.barplot(x='variable',y='value',data=population,ax=ax[2,0])
    ax[2,0].bar_label(ax[2,0].containers[0])
    
    #set xlabel and ylabel to ""
    for ax in fig.axes:
        ax.set_xlabel('')
        ax.set_ylabel('')

    # Adjust subplot layout
    plt.tight_layout()
    plt.show()
    plt.close()

def print_country_info(country):
    t1 = df[df['country']==country][printinfocols].set_index('name').T
    return t1
df=df.sort_values(by=['country','Region'])
dff = df[df['Region']=='African Region']
display(Markdown('# African Region'))
for i in dff['country'].unique():
    display(Markdown(f'## {i}'))
    display(print_country_info(i))
    countryinvestigation(i)

African Region

Algeria

name DEHDOUH ABDELKADER
country Algeria
email dehdouhaek@hotmail.com
role Membre et faisant partie des dirigeants
certified_specialist 500.0
provider_number NaN
nurse_num 2500.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Benin

name OROU Jérémie OROU Jérémie ZOUMENOU
country Benin Benin Benin
email orjetim@yahoo.fr orjetim@yahoo.fr ezoumenou@gmail.com
role Membre sans faire partie des dirigeants Membre sans faire partie des dirigeants Membre et faisant partie des dirigeants
certified_specialist 22.0 NaN 30.0
provider_number NaN NaN NaN
nurse_num NaN 300.0 200.0
nurse_num2 NaN 300.0 30.0
nurse_num3 NaN 0.0 NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Burkina Faso

name KI Kélan Bertille
country Burkina Faso
email bertilleki@yahoo.fr
role Membre et faisant partie des dirigeants
certified_specialist 57.0
provider_number NaN
nurse_num 800.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Burundi

name Gilles Eloi Rwibuka
country Burundi
email rwibahgilel31@gmail.com
role Member and part of leadership
certified_specialist 4.0
provider_number NaN
nurse_num 340.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 On the job trained non physician anaesthesia p...

Central African Republic

name Ngboh-kassa Kainy Boniface
country Central African Republic
email bonifacekassa01@gmail.com
role Membre et faisant partie des dirigeants
certified_specialist 2.0
provider_number NaN
nurse_num NaN
nurse_num2 3.0
nurse_num3 NaN
nurse_num4 NaN
other_1 Autre prestataire d'anesthésie

Chad

name Rodrigo Lopez Barreda
country Chad
email ralopez@uc.cl
role otro
certified_specialist 2.0
provider_number 10.0
nurse_num 70.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 otro

Congo, Democratic Republic of the

name Wilfrid Mbombo Dibue via Philippe LONGO NZONGO Alexis
country Congo, Democratic Republic of the Congo, Democratic Republic of the
email pwmbombo@yahoo.fr alonzongo@gmail.com
role Member and part of leadership Membre et faisant partie des dirigeants
certified_specialist 75.0 105.0
provider_number NaN NaN
nurse_num 756.0 NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Côte d’Ivoire

name BOUA Narcisse BOUA NARCISSE
country Côte d'Ivoire Côte d'Ivoire
email narcisseboua@gmail.com narccisseboua@gmail.com
role Membre et faisant partie des dirigeants Membre et faisant partie des dirigeants
certified_specialist 125.0 140.0
provider_number NaN NaN
nurse_num NaN 445.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Eritrea

name Yonatan M. Andemeskel Yonatan Mehari Andemeskel
country Eritrea Eritrea
email yonimer2@gmail.com yonimer2@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist NaN 0.0
provider_number NaN NaN
nurse_num 98.0 NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Ethiopia

name leulayehu akalu leulayehu akalu Mahelet Tadesse
country Ethiopia Ethiopia Ethiopia
email leulayehu_akalu@yahoo.com leulayehu_akalu@yahoo.com mahitadd@yahoo.com
role Member and part of leadership Member and part of leadership Member and part of leadership
certified_specialist NaN NaN 106.0
provider_number NaN NaN NaN
nurse_num 3000.0 3000.0 754.0
nurse_num2 500.0 NaN 3603.0
nurse_num3 NaN NaN 243.0
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Gabon

name Adrien SIMA ZUE
country Gabon
email admin@wfsahq.org
role Member and part of leadership
certified_specialist 36.0
provider_number NaN
nurse_num 90.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Gambia

name Anna Njie
country Gambia
email annanjie@yahoo.com
role Member but not part of leadership
certified_specialist 3.0
provider_number NaN
nurse_num 63.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 Anesthetic technician

Ghana

name Frederick Kporxah Frederick Kwame Kporxah
country Ghana Ghana
email kporxahf@gmail.com kporxahf@mail.com
role Member and part of leadership Member and part of leadership
certified_specialist NaN NaN
provider_number NaN NaN
nurse_num 827.0 821.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Kenya

name Stephen Okelo Stephen Okelo
country Kenya Kenya
email okelos@gmail.com okelos@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist 208.0 208.0
provider_number NaN NaN
nurse_num NaN NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Lesotho

name Taemane Tekete
country Lesotho
email Taemanet@yahoo.com
role Member and part of leadership
certified_specialist NaN
provider_number NaN
nurse_num 40.0
nurse_num2 2.0
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Liberia

name Lewis Johnson Lewis
country Liberia Liberia
email lewisjohnson26440@yshoo.com lewisjohnson26440@yahoo.com
role Member and part of leadership Member and part of leadership
certified_specialist 1.0 NaN
provider_number NaN NaN
nurse_num 90.0 90.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN Anesthestist

Madagascar

name Rakotondrainibe
country Madagascar
email aaurelia.rakotondrainibe@gmail.com
role NaN
certified_specialist 49.0
provider_number 22.0
nurse_num 300.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Malawi

name Joel moyo
country Malawi
email joelmoyo7@gmail.com
role Member and part of leadership
certified_specialist 7.0
provider_number 3.0
nurse_num 166.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Mali

name Youssouf COULIBALY Youssouf COULIBALY
country Mali Mali
email issou_fr@yahoo.fr issou_fr@yahoo.fr
role Member and part of leadership Membre et faisant partie des dirigeants
certified_specialist 36.0 36.0
provider_number NaN NaN
nurse_num NaN NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Mauritania

name Bilal Dah
country Mauritania
email bilalmodah@yahoo.fr
role Membre et faisant partie des dirigeants
certified_specialist 24.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Mauritius

name Veekash Gobin Vishaal Kissoon
country Mauritius Mauritius
email dr.gobin@hotmail.com vishq5@yahoo.com
role Member and part of leadership Member and part of leadership
certified_specialist 70.0 82.0
provider_number NaN NaN
nurse_num NaN NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN Other anesthesia provider

Mozambique

name Gustavo Marcos
country Mozambique
email gcmarcos@live.com
role Member but not part of leadership
certified_specialist 35.0
provider_number NaN
nurse_num 157.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Namibia

name Theresia Shivera
country Namibia
email drtsshivera@gmail.com
role Member and part of leadership
certified_specialist 54.0
provider_number 0.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Niger

name CHAIBOU MAMAN SANI CHAIBOU MAMAN SANI
country Niger Niger
email chaiboumsani71@gmail.com chaiboumsani71@gmail.com
role Member and part of leadership Membre et faisant partie des dirigeants
certified_specialist 160.0 160.0
provider_number NaN NaN
nurse_num 150.0 150.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Nigeria

name PROF ELIZABETH OGBOLI NWASOR
country Nigeria
email drnwasor@yahoo.com
role Member and part of leadership
certified_specialist 350.0
provider_number 200.0
nurse_num 850.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Rwanda

name RUHATO BANGUTI Paulin
country Rwanda
email bangutifils@gmail.com
role Other
certified_specialist 30.0
provider_number NaN
nurse_num 280.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Senegal

name Bassama Hélène
country Senegal
email hbassama@yahoo.fr
role Membre et faisant partie des dirigeants
certified_specialist 108.0
provider_number NaN
nurse_num 128.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Sierra Leone

name Eric Vreede
country Sierra Leone
email ericvreede@compuserve.com
role Other
certified_specialist 3.0
provider_number NaN
nurse_num 60.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

South Africa

name Lance Lasersohn
country South Africa
email lance@globalmicro.co.za
role Member and part of leadership
certified_specialist 1468.0
provider_number 282.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 General Practitioner Anaesthetists

Swaziland

name Lomangisi Dlamini-Sserumaga
country Swaziland
email ngisi2@yahoo.com
role Member and part of leadership
certified_specialist 5.0
provider_number 2.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Tanzania

name Dr. Edwin Rwebugisa Lugazia
country Tanzania
email elugazia@gmail.com
role Member and part of leadership
certified_specialist 75.0
provider_number 1495.0
nurse_num 1450.0
nurse_num2 50.0
nurse_num3 NaN
nurse_num4 NaN
other_1 Other anaesthesia providers

Togo

name SAMA DOLES HAMZA SAMA DOLES HAMZA
country Togo Togo
email hamzasama@hotmail.com hamzasama@hotmail.com
role Member and part of leadership Membre et faisant partie des dirigeants
certified_specialist 10.0 10.0
provider_number NaN NaN
nurse_num 150.0 150.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Uganda

name Ronald Bisegerwa Nyirantungane Solotiinah
country Uganda Uganda
email bronald90@gmail.com nsolotiinah@gmail.com
role Member but not part of leadership Member and part of leadership
certified_specialist 76.0 NaN
provider_number NaN NaN
nurse_num 500.0 500.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Zambia

name Abel Mwale Ushmaben Patel-Mujajati Abel Mwale
country Zambia Zambia Zambia
email macabels2002@gmail.com ushma.mujajati@gmail.com macabels2002@gmail.com
role Member and part of leadership Member but not part of leadership Member and part of leadership
certified_specialist 35.0 20.0 32.0
provider_number NaN NaN 100.0
nurse_num NaN NaN 100.0
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Zimbabwe

name Nelly Saunyama Ruvimbo
country Zimbabwe
email rnsaunyama@gmail.com
role Member but not part of leadership
certified_specialist 73.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN