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
Ejemplo n.º 2
0
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)]])
Ejemplo n.º 7
0
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)]])
Ejemplo n.º 8
0
    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)]])