Cerchiamo di ordinare il database e di organizzarlo in maniera tale che sia chiaro nella sua visualizzazione. Qui sotto ad es. vediamo le prime 10 righe del database, che riguardano il mondo arabo.
La dimensione del database è rilevante, per cui andremo a ricercare solo ciò che ci interessa.
import numpy as np, pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.float_format', lambda x: '%.2f' % x)
df2 = pd.read_csv("D:\\Admin_1\\Download\\DataWorld\\Health\\HNP_StatsData.csv")
df2 = df2.drop('Indicator Code', axis = 1)
df2 = df2.reindex(columns = df2.columns[:-2])
df2 = df2.set_index('Country Name')
df2 = df2.drop('Country Code', axis=1)
df2 = df2.dropna()
df2.head(10)
La prima cosa che possiamo fare è mirare l'attenzione sul nostro Paese.
Qui sotto vediamo i primi 5 indicatori presenti nel database, relativi all'Italia.
italia = df2.loc['Italy']
italia.head()
Studiamo l'indicatore relativo all'aspettativa di vita in Italia, e il suo andamento dal 1960 al 2016.
Come possiamo vedere qui sotto, si è passati da un'aspettativa di vita di 69 anni, ad una di 82 anni e 6 mesi.
Un incremento quindi di piu' di 13 anni.
italia[italia['Indicator Name'] == 'Life expectancy at birth, total (years)']
Confrontiamo la nostra aspettativa di vita con quella nel mondo. Per fare questo prendiamo l'indicatore in questione per tutti i Paesi.
Sotto vediamo i primi 5 Paesi o Zone Strategiche presenti nel database.
world = df2[df2['Indicator Name']=='Life expectancy at birth, total (years)']
print('Sono presenti {} Paesi o Zone strategiche nel database relativamente a questo indicatore.'.format(len(world.index)))
print('Queste le prime 5 Zone strategiche:')
world.head()
def f(df):
return df['2016']-df['1960']
Sotto c'è la lista dei Paesi in cui piu' è aumentata l'aspettativa di vita dal 1960 al 2016.
Nelle Maldive è aumentata quasi di 40 anni, un incremento enorme.
Da notare che in questa lista non c'è nessun Paese del mondo Occidentale: la mia personale conclusione (bisogna essere cauti quando si traggono conclusioni relativi a un sistema complesso) è che se è vero che esiste la globalizzazione, allora l'economia globalizzata ha aiutato molto di piu' i Paesi poveri o che prima erano reputati del Terzo Mondo, rispetto ai Paesi occidentali.
Dal punto di vista del fattore "sopravvivenza" questo è certo. Dal punto di vista di altri fattori non è scontato, ma il fattore "sopravvivenza maggiore" non è un fattore qualunque a mio avviso.
Certamente aiuterebbe sapere esattamente la distribuzione spazio-temporale di conflitti bellici per capire se ad es. un incremento importante dell'aspettativa di vita è conseguenza diretta della fine di un conflitto degli anni 50-60' in quella zona geografica oppure il fattore "guerra" non è presente come determinante di un aumento di vita attesa in quella zona.
f(world).sort_values(ascending=False).to_frame(name='Incremento aspettativa di vita dal 1960 al 2016').head(20)
A conferma della tabella precedente, vediamo qui sotto il decorso dell'aspettativa di vita delle Maldive, Paese dove piu' è aumentata l'aspettativa di vita.
maldive = df2.loc['Maldives']
maldive[maldive['Indicator Name'] == 'Life expectancy at birth, total (years)']
I Paesi dove l'aspettativa di vita è aumentata di meno negli ultimi 56 anni invece sono elencati nella lista di sotto:
L'Europa dell'Est è presente in maniera evidente in questa lista.
f(world).sort_values().to_frame(name='Incremento aspettativa di vita dal 1960 al 2016').head(10)
L'aspettativa di vita nel mondo è aumentata di quasi 20 anni dal 1960 al 2016, da 52 anni e 6 mesi a 72 anni.
.overall = df2.loc['World']
expected_world = overall[overall['Indicator Name']== 'Life expectancy at birth, total (years)']
expected_world
Un confronto grafico tra aspettativa del mondo in Italia e nel mondo
serie_world = expected_world.iloc[0,1:]
serie_world.index = pd.to_datetime(serie_world.index)
serie_italia = italia[italia['Indicator Name'] == 'Life expectancy at birth, total (years)'].iloc[0,1:]
serie_italia.index = pd.to_datetime(serie_italia.index)
both = pd.concat([serie_world, serie_italia], axis = 1)
ax = both.plot(figsize=(12,12), grid = True);
ax.set_title('Andamento aspettativa di vita nel mondo dal 1960 al 2016')
ax.set_xlabel('Year', fontsize=14)
ax.set_ylabel('Aspettativa di vita, anni', fontsize=14);
Ma qual è lo Stato del mondo che presenta, nel 2016, l'aspettativa di vita piu' alta? Scopriamolo...
world[world['2016'] == world['2016'].max()]
E' quindi Hong Kong, che presenta un'aspettativa di vita di 84 anni, 8 in piu' rispetto al suo vicino gigante Stato.
China = df2.loc['China']
China[China['Indicator Name'] == 'Life expectancy at birth, total (years)']