def test(): # inflators_by_year = get_inflators_by_year() # Liste des coicop agrégées en 12 postes simulated_variables = ['coicop12_{}'.format(coicop12_index) for coicop12_index in range(1, 13)] year = 2011 elasticities = get_elasticities(year) inflation_kwargs = None # dict(inflator_by_variable = inflators_by_year[year]) survey_scenario = SurveyScenario.create( elasticities = elasticities, inflation_kwargs = inflation_kwargs, year = year, ) coicop12_1 = survey_scenario.simulation.calculate('coicop12_1') elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1') print elasticite_1 pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values = [values], columns = ['niveau_vie_decile']) ]) df = pivot_table.T df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis = 1) for i in range(1, 13): df['part_coicop12_{}'.format(i)] = \ df['coicop12_{}'.format(i)] / df['depenses_tot'] graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]]) return toto
def test(): # inflators_by_year = get_inflators_by_year() # Liste des coicop agrégées en 12 postes simulated_variables = [ 'coicop12_{}'.format(coicop12_index) for coicop12_index in range(1, 13) ] year = 2011 elasticities = get_elasticities(year) inflation_kwargs = None # dict(inflator_by_variable = inflators_by_year[year]) survey_scenario = SurveyScenario.create( elasticities=elasticities, inflation_kwargs=inflation_kwargs, year=year, ) coicop12_1 = survey_scenario.simulation.calculate('coicop12_1') elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1') print elasticite_1 pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values=[values], columns=['niveau_vie_decile']) ]) df = pivot_table.T df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis=1) for i in range(1, 13): df['part_coicop12_{}'.format(i)] = \ df['coicop12_{}'.format(i)] / df['depenses_tot'] graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]]) return toto
import seaborn # Import de modules spécifiques à Openfisca from openfisca_france_indirect_taxation.examples.utils_example import graph_builder_bar from openfisca_france_indirect_taxation.surveys import SurveyScenario # Import d'une nouvelle palette de couleurs seaborn.set_palette(seaborn.color_palette("Set2", 12)) if __name__ == '__main__': # Sélection des variables utilisées pour la simulation simulated_variables = ['depenses_carburants', 'depenses_essence', 'depenses_diesel', 'revtot'] for year in [2000, 2005, 2011]: survey_scenario = SurveyScenario.create(year = year) pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values = [values], columns = ['strate']) ]) df = pivot_table.T # Réalisation de graphiques for element in simulated_variables: if element == 'revtot': continue df['part_{}_revtot'.format(element)] = \ df['{}'.format(element)] / df['revtot'] graph_builder_bar(df[['part_{}_revtot'.format(element)]])
'rev_disponible', 'depenses_cigarettes', 'depenses_cigares', 'depenses_tabac_a_rouler', 'depenses_alcools_forts', 'depenses_vin', 'depenses_biere' ] # Merge des deux listes simulated_variables += list_coicop12 for year in [2000, 2005, 2011]: # Constition d'une base de données agrégée par décile (= collapse en stata) df = simulate(simulated_variables=simulated_variables, year=year) if year == 2011: df.niveau_vie_decile[df.decuc == 10] = 10 var_to_concat = list_coicop12 + ['rev_disponible'] Wconcat = df_weighted_average_grouped(dataframe=df, groupe='niveau_vie_decile', varlist=simulated_variables) list_alcool_tabac = [] Wconcat['part_alcool'] = \ (Wconcat['depenses_alcools_forts'] + Wconcat['depenses_vin'] + Wconcat['depenses_biere']) \ / Wconcat['rev_disponible'] list_alcool_tabac.append('part_alcool') Wconcat['part_tabac'] = \ (Wconcat['depenses_cigarettes'] + Wconcat['depenses_cigares'] + Wconcat['depenses_tabac_a_rouler']) / Wconcat['rev_disponible'] list_alcool_tabac.append('part_tabac') df_to_graph = Wconcat[list_alcool_tabac].copy() df_to_graph.columns = ['Alcool', 'Tabac'] graph_builder_bar(df_to_graph)
taxe_indirectes['alcools_forts_droit_d_accise'] ).copy() taxe_indirectes[u'Taxes assurances'] = ( taxe_indirectes['assurance_sante_taxe'] + taxe_indirectes['assurance_transport_taxe'] + taxe_indirectes['autres_assurances_taxe'] ).copy() taxe_indirectes[u'Taxes tabacs'] = ( taxe_indirectes['cigarette_droit_d_accise'] + taxe_indirectes['cigares_droit_d_accise'] + taxe_indirectes['tabac_a_rouler_droit_d_accise'] ).copy() taxe_indirectes = taxe_indirectes.rename(columns = {'revtot': u'revenu total', 'rev_disponible': u'revenu disponible', 'somme_coicop12': u'depenses totales', 'taxes_indirectes_total': u'toutes les taxes indirectes'}) for revenu in [u'revenu total', u'revenu disponible', u'depenses totales', u'toutes les taxes indirectes']: list_part_taxes = [] for taxe in ['TVA', 'TICPE', u'Taxes alcools', u'Taxes assurances', u'Taxes tabacs']: taxe_indirectes[u'part ' + taxe] = ( taxe_indirectes[taxe] / taxe_indirectes[revenu] ) 'list_part_taxes_{}'.format(taxe) list_part_taxes.append(u'part ' + taxe) df_to_graph = taxe_indirectes[list_part_taxes] print '''Contributions aux différentes taxes indirectes en part de {0}, par décile de revenu en {1}'''.format(revenu, year) graph_builder_bar(df_to_graph)
# Liste des coicop agrégées en 12 postes simulated_variables = ['coicop12_{}'.format(coicop12_index) for coicop12_index in range(1, 13)] year = 2011 elasticities = get_elasticities(year) inflation_kwargs = dict(inflator_by_variable = inflators_by_year[year]) survey_scenario = SurveyScenario.create( elasticities = elasticities, inflation_kwargs = inflation_kwargs, year = year, ) coicop12_1 = survey_scenario.simulation.calculate('coicop12_1') elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1') # boum pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values = [values], columns = ['niveau_vie_decile']) ]) df = pivot_table.T df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis = 1) for i in range(1, 13): df['part_coicop12_{}'.format(i)] = \ df['coicop12_{}'.format(i)] / df['depenses_tot'] graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]])
from openfisca_france_indirect_taxation.examples.utils_example import graph_builder_bar from openfisca_france_indirect_taxation.surveys import SurveyScenario # Import d'une nouvelle palette de couleurs seaborn.set_palette(seaborn.color_palette("Set2", 12)) if __name__ == '__main__': # Sélection des variables utilisées pour la simulation simulated_variables = [ 'depenses_carburants', 'depenses_essence', 'depenses_diesel', 'revtot' ] for year in [2000, 2005, 2011]: survey_scenario = SurveyScenario.create(year=year) pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values=[values], columns=['strate']) ]) df = pivot_table.T # Réalisation de graphiques for element in simulated_variables: if element == 'revtot': continue df['part_{}_revtot'.format(element)] = \ df['{}'.format(element)] / df['revtot'] graph_builder_bar(df[['part_{}_revtot'.format(element)]])
year = 2011 elasticities = get_elasticities(year) inflation_kwargs = dict(inflator_by_variable=inflators_by_year[year]) survey_scenario = SurveyScenario.create( elasticities=elasticities, inflation_kwargs=inflation_kwargs, year=year, ) coicop12_1 = survey_scenario.simulation.calculate('coicop12_1') elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1') # boum pivot_table = pandas.DataFrame() for values in simulated_variables: pivot_table = pandas.concat([ pivot_table, survey_scenario.compute_pivot_table(values=[values], columns=['niveau_vie_decile']) ]) df = pivot_table.T df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis=1) for i in range(1, 13): df['part_coicop12_{}'.format(i)] = \ df['coicop12_{}'.format(i)] / df['depenses_tot'] graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]])