def get_bdf_aggregates(data_year = None):
    assert data_year is not None

    depenses = get_input_data_frame(data_year)
    depenses_by_grosposte = pandas.DataFrame()
    for grosposte in range(1, 13):
        if depenses_by_grosposte is None:
            depenses_by_grosposte = depenses['coicop12_{}'.format(grosposte)]
        else:
            depenses_by_grosposte = concat([depenses_by_grosposte, depenses['coicop12_{}'.format(grosposte)]], axis = 1)

    depenses_by_grosposte = concat([depenses_by_grosposte, depenses['pondmen']], axis = 1)
    grospostes = set(depenses_by_grosposte.columns)
    grospostes.remove('pondmen')
    bdf_aggregates_by_grosposte = pandas.DataFrame()
    for grosposte in grospostes:
        bdf_aggregates_by_grosposte.loc[grosposte, 'bdf_aggregates'] = (
            depenses_by_grosposte[grosposte] * depenses_by_grosposte['pondmen']
            ).sum()

    return bdf_aggregates_by_grosposte
Ejemplo n.º 2
0
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 19 10:27:32 2015

@author: thomas.douenne
"""

from __future__ import division

from openfisca_core.tools import assert_near
from openfisca_france_indirect_taxation.examples.utils_example import get_input_data_frame

for year in [2000, 2005, 2011]:
    aggregates_data_frame = get_input_data_frame(year)
    if year == 2000:
        df = aggregates_data_frame[
            ['poste_coicop_722', 'coicop12_7', 'poste_coicop_711'] + [
                'poste_coicop_712', 'poste_coicop_713', 'poste_coicop_721',
                'poste_coicop_723'
            ] + [
                'poste_coicop_724', 'poste_coicop_731', 'poste_coicop_732',
                'poste_coicop_733'
            ] + ['poste_coicop_734', 'poste_coicop_736']].copy()
        df['check'] = (df['poste_coicop_711'] + df['poste_coicop_712'] +
                       df['poste_coicop_713'] + df['poste_coicop_721'] +
                       df['poste_coicop_722'] + df['poste_coicop_723'] +
                       df['poste_coicop_724'] + df['poste_coicop_731'] +
                       df['poste_coicop_732'] + df['poste_coicop_733'] +
                       df['poste_coicop_734'] + df['poste_coicop_736'] -
                       df['coicop12_7'])
    else:
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 19 10:27:32 2015

@author: thomas.douenne
"""


from __future__ import division


from openfisca_core.tools import assert_near
from openfisca_france_indirect_taxation.examples.utils_example import get_input_data_frame

for year in [2000, 2005, 2011]:
    aggregates_data_frame = get_input_data_frame(year)
    if year == 2000:
        df = aggregates_data_frame[['poste_coicop_722', 'coicop12_7', 'poste_coicop_711'] +
            ['poste_coicop_712', 'poste_coicop_713', 'poste_coicop_721', 'poste_coicop_723'] +
            ['poste_coicop_724', 'poste_coicop_731', 'poste_coicop_732', 'poste_coicop_733'] +
            ['poste_coicop_734', 'poste_coicop_736']].copy()
        df['check'] = (
            df['poste_coicop_711'] + df['poste_coicop_712'] + df['poste_coicop_713'] + df['poste_coicop_721'] +
            df['poste_coicop_722'] + df['poste_coicop_723'] + df['poste_coicop_724'] + df['poste_coicop_731'] +
            df['poste_coicop_732'] + df['poste_coicop_733'] + df['poste_coicop_734'] + df['poste_coicop_736'] -
            df['coicop12_7']
            )
    else:
        df = aggregates_data_frame[['poste_coicop_722', 'coicop12_7', 'poste_coicop_711'] +
            ['poste_coicop_712', 'poste_coicop_735', 'poste_coicop_713', 'poste_coicop_721'] +
            ['poste_coicop_723', 'poste_coicop_724', 'poste_coicop_731', 'poste_coicop_732'] +
Ejemplo n.º 4
0
from __future__ import division

import pandas as pd
import numpy as np
from pandas import concat

from openfisca_france_indirect_taxation.examples.utils_example import get_input_data_frame
from openfisca_france_indirect_taxation.almost_ideal_demand_system.aids_price_index_builder import \
    df_indice_prix_produit


# Now that we have our price indexes, we construct a dataframe with the rest of the information

data_frame_for_reg = None
for year in [2000, 2005, 2011]:
    aggregates_data_frame = get_input_data_frame(2011)
    aggregates_data_frame['depenses_tot'] = 0
    for i in range(1, 13):
        aggregates_data_frame['depenses_tot'] += aggregates_data_frame['coicop12_{}'.format(i)]

    produits = [column for column in aggregates_data_frame.columns if column.isdigit()]

    data = aggregates_data_frame[produits + ['vag']].copy()

    data.index.name = 'ident_men'
    data.reset_index(inplace = True)
    df = pd.melt(data, id_vars = ['vag', 'ident_men'], value_vars=produits,
        value_name = 'depense_bien', var_name = 'bien')

    df_indice_prix_produit = df_indice_prix_produit[['indice_prix_produit'] + ['prix'] + ['temps'] + ['mois']]