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

European Region

Albania

name Rudin Domi
country Albania
email rdomi73@yahoo.it
role Member and part of leadership
certified_specialist 210.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Austria

name Oliver Kimberger Marianne Wagner Marianne Wagner Wagner Marianne
country Austria Austria Austria Austria
email oliver.kimberger@meduniwien.ac.at marianne.wagner1@gmx.at marianne.wagner1@gmx.at marianne.wagner@ooeg.at
role Member and part of leadership NaN Member and part of leadership Member and part of leadership
certified_specialist 2650.0 2650.0 2650.0 2650.0
provider_number NaN 0.0 NaN NaN
nurse_num 130.0 130.0 130.0 130.0
nurse_num2 NaN NaN NaN NaN
nurse_num3 NaN NaN NaN NaN
nurse_num4 NaN NaN NaN NaN
other_1 NaN NaN NaN NaN

Belarus

name Alyaksandr Dzyadzko
country Belarus
email 2726996@gmail.com
role Member and part of leadership
certified_specialist 2395.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Belgium

name Vera Saldien
country Belgium
email vera.saldien@uza.be
role Member and part of leadership
certified_specialist 2809.0
provider_number 64.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Bosnia and Herzegovina

name Elmedin Dubravac
country Bosnia and Herzegovina
email edubravac@gmail.com
role Member but not part of leadership
certified_specialist NaN
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 Nurse anesthetist

Croatia

name Kresimir Oremus Josip Brusic Josip Brusic Kristian Civka
country Croatia Croatia Croatia Croatia
email kresimir.oremus@akromion.hr josip.brusic2@ri.t-com.hr josip.brusic2@ri.t-com.hr kristian.civka@hdmsarist.hr
role Member and part of leadership Member and part of leadership Member and part of leadership Other
certified_specialist 673.0 678.0 678.0 NaN
provider_number NaN NaN NaN NaN
nurse_num 1000.0 1000.0 1000.0 1000.0
nurse_num2 NaN NaN NaN NaN
nurse_num3 NaN NaN NaN NaN
nurse_num4 NaN NaN NaN NaN
other_1 NaN NaN NaN Other anesthesia provider

Czech Republic

name Viktor Kubricht
country Czech Republic
email viktor.kubricht@gmail.com
role Member but not part of leadership
certified_specialist 2500.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Denmark

name Dorte Söderberg Dorte Söderberg christian Wamberg
country Denmark Denmark Denmark
email dsoederberg@gmail.com Dsoederberg@gmail.com christian.aage.wamberg.02@regionh.dk
role Member and part of leadership Member and part of leadership Member and part of leadership
certified_specialist NaN NaN 1204.0
provider_number NaN NaN NaN
nurse_num 2200.0 2200.0 NaN
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Estonia

name Juri Karjagin
country Estonia
email juri.karjagin@kliinikum.ee
role Member and part of leadership
certified_specialist 340.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Finland

name Sari Pyhälä Matti Reinikainen
country Finland Finland
email sari.pyhala@gmail.com matti.reinikainen@kuh.fi
role Member and part of leadership Member and part of leadership
certified_specialist NaN 903.0
provider_number NaN NaN
nurse_num 3000.0 3000.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 Registred nurse (RN) NaN

France

name Pascal ROD DECOCK Nico
country France France
email ifna.rod@wanadoo.fr ndecock.snia@gmail.com
role Member but not part of leadership Membre et faisant partie des dirigeants
certified_specialist NaN 11524.0
provider_number NaN NaN
nurse_num 10843.0 10843.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Georgia

name mamuka chkhaidze
country Georgia
email m.chkhaidze@evex.ge
role Member and part of leadership
certified_specialist 500.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Germany

name Prof. Alexander Schleppers
country Germany
email dgai@dgai-ev.de
role Member and part of leadership
certified_specialist 31014.0
provider_number NaN
nurse_num 1400.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Greece

name Anna Malisiova Anna Malisiova
country Greece Greece
email anna.malisiova@gmail.com anna.malisiova@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist 1000.0 1000.0
provider_number NaN NaN
nurse_num 1050.0 1050.0
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Hungary

name Zsuzsanna Oroszi dr. Krisztina Madách
country Hungary Hungary
email zsuzsa.oroszi@gmail.com madachk@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist NaN 1857.0
provider_number NaN 0.0
nurse_num 600.0 NaN
nurse_num2 NaN NaN
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Iceland

name Áslaug Kristinsdóttir
country Iceland
email aslaugina@gmail.com
role Member and part of leadership
certified_specialist NaN
provider_number NaN
nurse_num 70.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Israel

name Shai Fein
country Israel
email shaif@assuta.co.il
role Member and part of leadership
certified_specialist 550.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Italy

name Flavia Petrini
country Italy
email segreteria@siaarti.it
role Member and part of leadership
certified_specialist 15000.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Kazakhstan

name Prof. Agzam ZHUMADILOV Yergali Miyerbekov
country Kazakhstan Kazakhstan
email agzamzh@gmail.com ergali.m1@gmail.com
role Member and part of leadership Member and part of leadership
certified_specialist 2540.0 2600.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

Latvia

name Iveta Golubovska
country Latvia
email ivetagolubovska@gmail.com
role Member and part of leadership
certified_specialist 350.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Lithuania

name Jurate Sipylaite
country Lithuania
email jurate.sipylaite@mf.vu.lt
role Member and part of leadership
certified_specialist 851.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Luxembourg

name Dr Philippe WELTER
country Luxembourg
email phwelter@pt.lu
role Membre et faisant partie des dirigeants
certified_specialist 85.0
provider_number NaN
nurse_num 409.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Malta

name Marique Sciberras
country Malta
email Marique.sciberras@gov.mt
role Member and part of leadership
certified_specialist 93.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Moldova

name Ruslan Baltaga
country Moldova
email rbaltaga@yahoo.com
role Other
certified_specialist 420.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Montenegro

name Natalija Trninic
country Montenegro
email natalijat@t-com.me
role Member and part of leadership
certified_specialist 62.0
provider_number 55.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Netherlands

name Jaap Hoekman
country Netherlands
email jhoekman8@gmail.com
role Member and part of leadership
certified_specialist NaN
provider_number NaN
nurse_num 2780.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

North Macedonia

name Aleksandra Gavrilovska-Brzanov
country North Macedonia
email gavrilovska.aleksandra@gmail.com
role Member but not part of leadership
certified_specialist 237.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Norway

name Gunhild Øverland
country Norway
email gunhild.overland@hotmail.com
role Member and part of leadership
certified_specialist 1099.0
provider_number NaN
nurse_num 2000.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Poland

name Krzysztof Kusza
country Poland
email k-kusza@wp.pl
role Member and part of leadership
certified_specialist 6200.0
provider_number 6200.0
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Portugal

name Francisco A Lobo
country Portugal
email francisco.lobo@me.com
role Other
certified_specialist 1542.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Romania

name Șerban-Ion Bubenek-Turconi
country Romania
email presedinte@sraticongres.ro
role Member and part of leadership
certified_specialist 1159.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Russian Federation

name Mikhail Kirov
country Russian Federation
email mikhail_kirov@hotmail.com
role Member and part of leadership
certified_specialist 39000.0
provider_number NaN
nurse_num NaN
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Serbia

name Nebojsa Ladjevic
country Serbia
email nladjevic@yahoo.com
role Member and part of leadership
certified_specialist 900.0
provider_number NaN
nurse_num 700.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN

Slovenia

name Marko Zdravkovic ZORICA KARDOŠ ZORICA KARDOŠ, RUDI KOČEVAR
country Slovenia Slovenia Slovenia
email markozdravkovic@gmail.com zorica.kardos@gmail.com zorica.kardos@gmail.com
role Member and part of leadership Member and part of leadership Member and part of leadership
certified_specialist 298.0 NaN 298.0
provider_number NaN NaN NaN
nurse_num NaN 300.0 300.0
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Spain

name Emilia Guasch Antonia Ballesteros Barrado
country Spain Spain
email emiguasch@hotmail.com toballesteros@gmail.com
role miembro pero no parte del liderazgo miembro y parte del liderazgo
certified_specialist 8000.0 8000.0
provider_number NaN NaN
nurse_num NaN 122.0
nurse_num2 NaN 50.0
nurse_num3 NaN NaN
nurse_num4 NaN NaN
other_1 NaN NaN

Sweden

name Owain Thomas
country Sweden
email odt@cantab.net
role Member and part of leadership
certified_specialist 1947.0
provider_number NaN
nurse_num 5150.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 Other anaesthesia provider

Switzerland

name matteo gianinazzi Suzanne Reuss L. matteo gianinazzi
country Switzerland Switzerland Switzerland
email matabio33@gmail.com gs@ssapm.ch matabio33@gmail.com
role Member but not part of leadership Member and part of leadership Membre sans faire partie des dirigeants
certified_specialist 2016.0 2016.0 2016.0
provider_number 679.0 679.0 679.0
nurse_num 1900.0 NaN 1900.0
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN NaN

Turkey

name Fatma Saricaoglu Fatma Saricaoglu SAMİME DURMAZ
country Turkey Turkey Turkey
email fatmasaricao@yahoo.com fatmasaricao@yahoo.com samime84@gmail.com
role Member and part of leadership Member and part of leadership Member and part of leadership
certified_specialist 8570.0 8570.0 8570.0
provider_number 0.0 0.0 0.0
nurse_num 6486.0 6486.0 6486.0
nurse_num2 NaN NaN NaN
nurse_num3 NaN NaN NaN
nurse_num4 NaN NaN NaN
other_1 NaN NaN Anesthesia Technician

United Kingdom

name Nicola Heard
country United Kingdom
email nicolaheard@anaesthetists.org
role Other
certified_specialist 7595.0
provider_number 2050.0
nurse_num 173.0
nurse_num2 NaN
nurse_num3 NaN
nurse_num4 NaN
other_1 NaN