) quantite_bdf = pd.DataFrame() produits = ['carburants', 'diesel', 'essence'] for element in produits: quantite = pd.DataFrame.from_csv(os.path.join(assets_directory, 'openfisca_france_indirect_taxation', 'assets', 'quantites', 'quantites_{}_consommees_bdf.csv'.format(element)), sep = ',', header = -1) quantite.rename(columns = {1: '{} bdf'.format(element)}, inplace = True) quantite.index = quantite.index.str.replace('en milliers de m3 en ', '') quantite = quantite.sort_index() quantite_bdf = concat([quantite, quantite_bdf], axis = 1) # Import des fichiers csv donnant les quantités agrégées d'après la comptabilité nationale. quantite_carbu_vp_france = pd.read_csv(os.path.join(assets_directory, 'openfisca_france_indirect_taxation', 'assets', 'quantites', 'quantite_carbu_vp_france.csv'), sep = ';') quantite_carbu_vp_france['Unnamed: 0'] = quantite_carbu_vp_france['Unnamed: 0'].astype(str) quantite_carbu_vp_france = quantite_carbu_vp_france.set_index('Unnamed: 0') quantite_carbu_vp_france.rename(columns = {'essence': 'essence agregat'}, inplace = True) quantite_carbu_vp_france.rename(columns = {'diesel': 'diesel agregat'}, inplace = True) quantite_carbu_vp_france['carburants agregat'] = quantite_carbu_vp_france.sum(axis = 1) comparaison_bdf_agregats = concat([quantite_carbu_vp_france, quantite_bdf], axis = 1) comparaison_bdf_agregats = comparaison_bdf_agregats.dropna() # Créer des graphiques pour comparer les consommations obtenues via Bdf vis-à-vis de la comptabilité nationale graph_builder_line(comparaison_bdf_agregats[['essence agregat'] + ['essence bdf']]) graph_builder_line(comparaison_bdf_agregats[['diesel agregat'] + ['diesel bdf']]) graph_builder_line(comparaison_bdf_agregats[['carburants agregat'] + ['carburants bdf']])
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.rename(columns={ 'ticpe_totale': 'ticpe totale {}'.format(year), 'diesel_ticpe': 'ticpe diesel {}'.format(year), 'essence_ticpe': 'ticpe essence {}'.format(year), 'depenses_carburants': 'depenses carburants {}'.format(year), 'depenses_diesel': 'depenses diesel {}'.format(year), 'depenses_essence': 'depenses essence {}'.format(year) }, inplace=True) if depenses is not None: depenses = concat([depenses, df[element + '{}'.format(year)]], axis=1) else: depenses = df[element + '{}'.format(year)] graph_builder_line(depenses)
depenses_bdf = concat([depenses, depenses_bdf], axis=1) depenses_bdf.index = depenses_bdf.index.astype(int) # Import des fichiers csv donnant les montants agrégés des mêmes postes d'après la comptabilité nationale parametres_fiscalite_file_path = os.path.join( assets_directory, 'openfisca_france_indirect_taxation', 'assets', 'legislation', 'Parametres fiscalite indirecte.xls') masses_cn_data_frame = pd.read_excel(parametres_fiscalite_file_path, sheetname="consommation_CN") masses_cn_carburants = masses_cn_data_frame[masses_cn_data_frame['Fonction'] == 'Carburants et lubrifiants'] masses_cn_carburants = masses_cn_carburants.transpose() masses_cn_carburants.rename(columns={76: 'carburants agregat'}, inplace=True) masses_cn_transports = masses_cn_data_frame[masses_cn_data_frame['Fonction'] == 'Transports'] masses_cn_transports = masses_cn_transports.transpose() masses_cn_transports.rename(columns={69: 'transports agregat'}, inplace=True) comparaison_bdf_agregats = concat( [depenses_bdf, masses_cn_carburants, masses_cn_transports], axis=1) comparaison_bdf_agregats = comparaison_bdf_agregats.dropna() # Créer des graphiques pour comparer les consommations obtenues via Bdf vis-à-vis de la comptabilité nationale graph_builder_line(comparaison_bdf_agregats[['carburants agregat'] + ['carburants bdf']]) graph_builder_line(comparaison_bdf_agregats[['transports agregat'] + ['transports bdf']])
depenses_ticpe_pour_1000_euros_carbu = pd.DataFrame(index = index, columns = columns) for element in columns: if element == 'si seulement vehicules essence': dies = 0 else: dies = 1 if element == 'si seulement vehicules diesel': ess = 0 else: ess = 1 for year in range(2000, 2014): year = year simulation = base.tax_benefit_system.new_scenario().init_single_entity( period = year, personne_de_reference = dict( birth = datetime.date(year - 40, 1, 1), ), menage = dict( depenses_carburants = 1000, veh_essence = ess, veh_diesel = dies, ), ).new_simulation(debug = True) depenses_ticpe_pour_1000_euros_carbu.loc[depenses_ticpe_pour_1000_euros_carbu.index == year, element] = \ simulation.calculate('ticpe_totale') graph_builder_line(depenses_ticpe_pour_1000_euros_carbu) save_dataframe_to_graph(depenses_ticpe_pour_1000_euros_carbu, 'cas_type_1000€_carbu.csv')
comparaison_vehicules["diesel bdf"] = 0 comparaison_vehicules["essence bdf"] = 0 comparaison_vehicules["total bdf"] = 0 # Sélection des données Budget des Familles utilisées et organisation de la dataframe for year in [2000, 2005, 2011]: aggregates_data_frame = get_input_data_frame(year) df_nombre_vehicules_bdf = aggregates_data_frame[["veh_diesel"] + ["veh_essence"] + ["pondmen"]] nombre_vehicules_diesel_bdf = ( df_nombre_vehicules_bdf["veh_diesel"] * df_nombre_vehicules_bdf["pondmen"] ).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, "diesel bdf"] = nombre_vehicules_diesel_bdf nombre_vehicules_essence_bdf = ( df_nombre_vehicules_bdf["veh_essence"] * df_nombre_vehicules_bdf["pondmen"] ).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, "essence bdf"] = nombre_vehicules_essence_bdf nombre_vehicules_total_bdf = ( (df_nombre_vehicules_bdf["veh_essence"] + df_nombre_vehicules_bdf["veh_diesel"]) * df_nombre_vehicules_bdf["pondmen"] ).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, "total bdf"] = nombre_vehicules_total_bdf comparaison_vehicules = comparaison_vehicules[comparaison_vehicules["total bdf"] != 0] # Réalisation de graphiques graph_builder_line(comparaison_vehicules[["total bdf"] + ["total agregats"]]) graph_builder_line(comparaison_vehicules[["diesel bdf"] + ["diesel agregats"]]) graph_builder_line(comparaison_vehicules[["essence bdf"] + ["essence agregats"]])
depenses.index = depenses.index.str.replace('en ', '') depenses = depenses.sort_index() depenses_bdf = concat([depenses, depenses_bdf], axis = 1) depenses_bdf.index = depenses_bdf.index.astype(int) # Import des fichiers csv donnant les montants agrégés des mêmes postes d'après la comptabilité nationale parametres_fiscalite_file_path = os.path.join( assets_directory, 'openfisca_france_indirect_taxation', 'assets', 'legislation', 'Parametres fiscalite indirecte.xls' ) masses_cn_data_frame = pd.read_excel(parametres_fiscalite_file_path, sheetname = "consommation_CN") masses_cn_carburants = masses_cn_data_frame[masses_cn_data_frame['Fonction'] == 'Carburants et lubrifiants'] masses_cn_carburants = masses_cn_carburants.transpose() masses_cn_carburants.rename(columns = {76: 'carburants agregat'}, inplace = True) masses_cn_transports = masses_cn_data_frame[masses_cn_data_frame['Fonction'] == 'Transports'] masses_cn_transports = masses_cn_transports.transpose() masses_cn_transports.rename(columns = {69: 'transports agregat'}, inplace = True) comparaison_bdf_agregats = concat([depenses_bdf, masses_cn_carburants, masses_cn_transports], axis = 1) comparaison_bdf_agregats = comparaison_bdf_agregats.dropna() # Créer des graphiques pour comparer les consommations obtenues via Bdf vis-à-vis de la comptabilité nationale graph_builder_line(comparaison_bdf_agregats[['carburants agregat'] + ['carburants bdf']]) graph_builder_line(comparaison_bdf_agregats[['transports agregat'] + ['transports bdf']])
part_revtot = pandas.DataFrame() part_revtot['part ' + element.replace('_', ' ') + ' revtot {}'.format(year)] = \ df[element] / df['revtot'] part_rev_loyerimput = pandas.DataFrame() part_rev_loyerimput['part ' + element.replace('_', ' ') + ' rev disp loyerimput {}'.format(year)] = \ df[element] / df['rev_disp_loyerimput'] part_depenses = pandas.DataFrame() part_depenses['part ' + element.replace('_', ' ') + ' depenses {}'.format(year)] = \ df[element] / df['somme_coicop12_conso'] if revtot is not None: revtot = concat([revtot, part_revtot], axis = 1) else: revtot = part_revtot if rev_disp_loyerimput is not None: rev_disp_loyerimput = concat([rev_disp_loyerimput, part_rev_loyerimput], axis = 1) else: rev_disp_loyerimput = part_rev_loyerimput if depenses is not None: depenses = concat([depenses, part_depenses], axis = 1) else: depenses = part_depenses graph_builder_line(revtot) graph_builder_line(rev_disp_loyerimput) graph_builder_line(depenses)
# Le but est de construire un graphique représentant les 3 années pour chaque variable. On fait donc une boucle # dans une boucle. to_graph = ['ticpe totale ', 'ticpe diesel ', 'ticpe essence ', 'depenses carburants ', 'depenses diesel ', 'depenses essence '] for element in to_graph: depenses = None 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 = ['niveau_vie_decile']) ]) df = pivot_table.T df.rename(columns = {'ticpe_totale': 'ticpe totale {}'.format(year), 'diesel_ticpe': 'ticpe diesel {}'.format(year), 'essence_ticpe': 'ticpe essence {}'.format(year), 'depenses_carburants': 'depenses carburants {}'.format(year), 'depenses_diesel': 'depenses diesel {}'.format(year), 'depenses_essence': 'depenses essence {}'.format(year)}, inplace = True) if depenses is not None: depenses = concat( [depenses, df[element + '{}'.format(year)]], axis = 1) else: depenses = df[element + '{}'.format(year)] graph_builder_line(depenses)
quantite.index = quantite.index.str.replace('en milliers de m3 en ', '') quantite = quantite.sort_index() quantite_bdf = concat([quantite, quantite_bdf], axis=1) # Import des fichiers csv donnant les quantités agrégées d'après la comptabilité nationale. quantite_carbu_vp_france = pd.read_csv(os.path.join( assets_directory, 'openfisca_france_indirect_taxation', 'assets', 'quantites', 'quantite_carbu_vp_france.csv'), sep=';') quantite_carbu_vp_france['Unnamed: 0'] = quantite_carbu_vp_france[ 'Unnamed: 0'].astype(str) quantite_carbu_vp_france = quantite_carbu_vp_france.set_index('Unnamed: 0') quantite_carbu_vp_france.rename(columns={'essence': 'essence agregat'}, inplace=True) quantite_carbu_vp_france.rename(columns={'diesel': 'diesel agregat'}, inplace=True) quantite_carbu_vp_france['carburants agregat'] = quantite_carbu_vp_france.sum( axis=1) comparaison_bdf_agregats = concat([quantite_carbu_vp_france, quantite_bdf], axis=1) comparaison_bdf_agregats = comparaison_bdf_agregats.dropna() # Créer des graphiques pour comparer les consommations obtenues via Bdf vis-à-vis de la comptabilité nationale graph_builder_line(comparaison_bdf_agregats[['essence agregat'] + ['essence bdf']]) graph_builder_line(comparaison_bdf_agregats[['diesel agregat'] + ['diesel bdf']]) graph_builder_line(comparaison_bdf_agregats[['carburants agregat'] + ['carburants bdf']])
df_nombre_vehicules_bdf = aggregates_data_frame[['veh_diesel'] + ['veh_essence'] + ['pondmen']] nombre_vehicules_diesel_bdf = ( df_nombre_vehicules_bdf['veh_diesel'] * df_nombre_vehicules_bdf['pondmen']).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, 'diesel bdf'] = \ nombre_vehicules_diesel_bdf nombre_vehicules_essence_bdf = ( df_nombre_vehicules_bdf['veh_essence'] * df_nombre_vehicules_bdf['pondmen']).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, 'essence bdf'] = \ nombre_vehicules_essence_bdf nombre_vehicules_total_bdf = ( (df_nombre_vehicules_bdf['veh_essence'] + df_nombre_vehicules_bdf['veh_diesel']) * df_nombre_vehicules_bdf['pondmen']).sum() / 1000 comparaison_vehicules.loc[comparaison_vehicules.index == year, 'total bdf'] = \ nombre_vehicules_total_bdf comparaison_vehicules = comparaison_vehicules[ comparaison_vehicules['total bdf'] != 0] # Réalisation de graphiques graph_builder_line(comparaison_vehicules[['total bdf'] + ['total agregats']]) graph_builder_line(comparaison_vehicules[['diesel bdf'] + ['diesel agregats']]) graph_builder_line(comparaison_vehicules[['essence bdf'] + ['essence agregats']])