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']=='South-East Asia Region']
display(Markdown('# South-East Asia Region'))
for i in dff['country'].unique():
    display(Markdown(f'## {i}'))
    display(print_country_info(i))
    countryinvestigation(i)

South-East Asia Region

Bangladesh

name Prof Dr Kawsar Sardar
country Bangladesh
email kawsardr@yahoo.com
role Member and part of leadership
certified_specialist 1839.0
provider_number 100.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Bhutan

name Jampel Tshering Jampel Tshering
country Bhutan Bhutan
email jtshering10@gmail.com jtshering10@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist 15.0 11.0
provider_number NaN NaN
nurse_num 30.0 NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

India

name PROF. NAVEEN MALHOTRA
country India
email drnaveenmalhotra@yahoo.co.in
role Member and part of leadership
certified_specialist 60000.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Indonesia

name I Putu Pramana Suarjaya Dra.Dorce Tandung, MSi
country Indonesia Indonesia
email putupram@gmail.com ochetanalsa@yahoo.com
role Member and part of leadership Member and part of leadership
certified_specialist 4134.0 4134.0
provider_number NaN NaN
nurse_num 4000.0 4000.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Maldives

name Dusooma Abdul Razzag
country Maldives
email dusoomaa@gmail.com
role Member and part of leadership
certified_specialist 48.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Myanmar

name NI NI AYE
country Myanmar
email dr.niniaye.mm@gmail.com
role Member and part of leadership
certified_specialist 684.0
provider_number NaN
nurse_num 0.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Nepal

name Navindra Raj Bista
country Nepal
email navindrarajbista@hotmail.com
role Member and part of leadership
certified_specialist 400.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Sri Lanka

name Kumudini Ranatunga Prof P. T. R. Makuloluwa
country Sri Lanka Sri Lanka
email ranatungakumi@gmail.com ptr_makuloluwa@hotmail.com
role Member but not part of leadership Member and part of leadership
certified_specialist 336.0 207.0
provider_number NaN 1352.0
nurse_num NaN NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Thailand

name Phuping Akavipat Mrs. Suwimon Tangwiwat Suwimon Tangwiwat
country Thailand Thailand Thailand
email Ppakvp@hotmail.com stangwiwat@gmail.com stangwiwat@yahoo.com
role Member and part of leadership Member and part of leadership Member and part of leadership
certified_specialist 1300.0 1100.0 1100.0
provider_number NaN NaN NaN
nurse_num 5000.0 5000.0 5000.0
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN Nurse anaesthetist nurse anesthetist

Timor-Leste

name Mingota da Costa Herculano
country Timor-Leste
email mingotah@gmail.com
role Member but not part of leadership
certified_specialist 12.0
provider_number NaN
nurse_num 19.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN