In [1]:
# Import librerie per analisi dati (Pandas) e dati Istat
import os
import pandas as pd
import numpy as np
from IPython.core.display import HTML
import istat
import jsonstat
# cache dir per velocizzare analisi in locale
cache_dir = os.path.abspath(os.path.join("..", "tmp/od_la_grande_fuga", "istat_cached"))
istat.cache_dir(cache_dir)
istat.lang(0) # lingua italiano
print("cache_dir is '{}'".format(istat.cache_dir()))
In [2]:
# Directory
dir_df = os.path.join(os.path.abspath(''),'stg')
In [3]:
# AREA -> Opinioni dei cittadini e soddisfazione per la vita: 15
istat_area_sodd = istat.area(15)
In [4]:
istat_area_sodd.datasets()
Out[4]:
In [5]:
# DATASET -> Soddisfazione per la vita
istat_dataset_soddisfazione = istat_area_sodd.dataset('DCCV_AVQ_PERSONE')
istat_dataset_soddisfazione
Out[5]:
In [6]:
# istat_dataset_soddisfazione.dimensions()
In [7]:
spec = {
#"Territorio":1,
"Tipo dato":1079,
"Misura":3,
"Sesso":3,
"Classe di età":259,
"Titolo di studio":12,
"Condizione e posizione nella professione":12,
"Tempo e frequenza":2186
}
collection = istat_dataset_soddisfazione.getvalues(spec)
In [8]:
ds = collection.dataset(0)
ds
Out[8]:
In [9]:
df = ds.to_data_frame('Territorio')
df.reset_index(level=0, inplace=True)
In [10]:
df=df[(df['Territorio']=='Italia') |
(df['Territorio']=='Nord') |
(df['Territorio']=='Sud')]
In [11]:
df.head()
Out[11]:
In [12]:
df_filename = r'df_soddisfazione.pkl'
df_fullpath = os.path.join(dir_df, df_filename)
df.to_pickle(df_fullpath)
In [13]:
df_g1_filename = r'df_g1.pkl'
df_g1_fullpath = os.path.join(dir_df, df_g1_filename)
df_g1 = pd.read_pickle(df_g1_fullpath)
In [14]:
result = pd.merge(df_g1, df, on='Territorio')
In [17]:
result.drop(['Speranza di vita alla nascita'], axis=1, inplace=True)
result.rename(columns={'Value': 'Gradio di soddisfazione per la vita'}, inplace=True)
In [18]:
result
Out[18]:
In [19]:
result_filename = r'df_g2.pkl'
result_fullpath = os.path.join(dir_df, result_filename)
result.to_pickle(result_fullpath)