def test_survey_simulation(year = 2005): input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame = input_data_frame, tax_benefit_system = tax_benefit_system, year = year, ) simulation = survey_scenario.new_simulation() simulation.calculate('tva_taux_plein') return DataFrame( dict([ (name, simulation.calculate(name)) for name in [ 'tva_taux_plein', 'tva_taux_intermediaire', 'tva_taux_reduit', 'tva_taux_super_reduit', 'ident_men', 'pondmen', 'decuc', 'poste_coicop_611', 'categorie_fiscale_7', 'depenses_carburants', ] ]) )
def run_survey_simulation(year = None): assert year is not None input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame = input_data_frame, tax_benefit_system = tax_benefit_system, year = year, ) simulation = survey_scenario.new_simulation() simulation.calculate('tva_taux_plein') return DataFrame( dict([ (name, simulation.calculate(name)) for name in [ 'tva_taux_plein', 'tva_taux_intermediaire', 'tva_taux_reduit', 'tva_taux_super_reduit', 'ident_men', 'pondmen', 'decuc', 'poste_coicop_611', 'categorie_fiscale_7', 'depenses_carburants', ] ]) )
def create_survey_scenario(year=None): assert year is not None input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year ) return survey_scenario
def simulate_df(var_to_be_simulated, year): """ Construction de la DataFrame à partir de laquelle sera faite l'analyse des données """ input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year ) simulation = survey_scenario.new_simulation() return DataFrame(dict([(name, simulation.calculate(name)) for name in var_to_be_simulated]))
def create_survey_scenario(year=None): assert year is not None input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year, ) return survey_scenario
def simulate(simulated_variables, year): ''' Construction de la DataFrame à partir de laquelle sera faite l'analyse des données ''' input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year, ) simulation = survey_scenario.new_simulation() return DataFrame( dict([(name, simulation.calculate(name)) for name in simulated_variables]))
def simulate_df_calee_on_ticpe(simulated_variables, year): ''' Construction de la DataFrame à partir de laquelle sera faite l'analyse des données ''' input_data_frame = get_input_data_frame(year) input_data_frame_calee = build_df_calee_on_ticpe(input_data_frame, year, year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame = input_data_frame_calee, tax_benefit_system = tax_benefit_system, year = year, ) simulation = survey_scenario.new_simulation() return DataFrame( dict([ (name, simulation.calculate(name)) for name in simulated_variables ]) )
def simulate_df(year = 2005): ''' Construction de la DataFrame à partir de laquelle sera faite l'analyse des données ''' input_data_frame = get_input_data_frame(year) TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() survey_scenario = SurveyScenario().init_from_data_frame( input_data_frame = input_data_frame, tax_benefit_system = tax_benefit_system, year = year, ) simulation = survey_scenario.new_simulation() return pandas.DataFrame( dict([ (name, simulation.calculate(name)) for name in [ 'montant_tva_taux_plein', 'consommation_tva_taux_plein', 'categorie_fiscale_11', 'montant_tva_taux_intermediaire', 'consommation_tva_taux_intermediaire', 'montant_tva_taux_reduit', 'montant_tva_taux_super_reduit', 'montant_tva_total', 'ident_men', 'pondmen', 'decuc', 'age', 'revtot', 'rev_disponible', 'ocde10', 'niveau_de_vie', 'consommation_totale', 'decile', ] ]) )
# -*- coding: utf-8 -*- """ Created on Mon Aug 17 18:20:34 2015 @author: thomas.douenne """ import pandas as pd from pandas import concat import openfisca_france_indirect_taxation TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() legislation_json = tax_benefit_system.legislation_json def get_tva_taux_plein(): dict_tva_taux_plein = \ legislation_json['children']['imposition_indirecte']['children']['tva']['children']['taux_plein'] df_tva_taux_plein = pd.DataFrame.from_dict(dict_tva_taux_plein['values']) df_tva_taux_plein['start'] = df_tva_taux_plein['start'].str[:4] del df_tva_taux_plein['stop'] df_tva_taux_plein = df_tva_taux_plein.set_index('start') df_tva_taux_plein = df_tva_taux_plein.transpose() for year in range(1968, 2015): try: df_tva_taux_plein['{}'.format(year)] except: df_tva_taux_plein['{}'.format(year)] = df_tva_taux_plein['{}'.format(year - 1)] df_tva_taux_plein = df_tva_taux_plein.transpose()
# GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import datetime import json import xml.etree.ElementTree from openfisca_core import conv, legislations, legislationsxml from openfisca_france_indirect_taxation import init_country TaxBenefitSystem = init_country() def check_legislation_xml_file(year): legislation_tree = xml.etree.ElementTree.parse(TaxBenefitSystem.legislation_xml_file_path) legislation_xml_json = conv.check(legislationsxml.xml_legislation_to_json)(legislation_tree.getroot(), state = conv.default_state) legislation_xml_json, errors = legislationsxml.validate_legislation_xml_json(legislation_xml_json, state = conv.default_state) if errors is not None: errors = conv.embed_error(legislation_xml_json, 'errors', errors) if errors is None: raise ValueError(unicode(json.dumps(legislation_xml_json, ensure_ascii = False, indent = 2)).encode('utf-8')) raise ValueError(u'{0} for: {1}'.format(
# -*- coding: utf-8 -*- """ Created on Mon Aug 17 18:30:39 2015 @author: thomas.douenne """ import pandas as pd from pandas import concat import openfisca_france_indirect_taxation TaxBenefitSystem = openfisca_france_indirect_taxation.init_country() tax_benefit_system = TaxBenefitSystem() legislation_json = tax_benefit_system.legislation_json def get_prix_carburants(liste_carburants): prix_carburants = None for element in liste_carburants: prix_dict = \ legislation_json['children']['imposition_indirecte']['children']['prix_carburants']['children'][element] df_prix = pd.DataFrame.from_dict(prix_dict['values']) df_prix['start'] = df_prix['start'].str[:4] del df_prix['stop'] df_prix = df_prix.set_index('start') df_prix.rename(columns = {'value': 'prix ' + element.replace('_', ' ')}, inplace = True) if prix_carburants is not None: prix_carburants = concat([prix_carburants, df_prix], axis=1)