--- title: Réduction de la base de données keywords: fastai sidebar: home_sidebar nb_path: "notebooks/retraitement_erfs-fpr/modules/reduction_variables.ipynb" ---
{% raw %}
{% endraw %}

Principe

Ce script a pour but de réduire notre base de données ERFS-FPR (erfs_flat_YEAR) en enlevant toutes les variables inutiles

Imports

{% raw %}
{% endraw %} {% raw %}
from leximpact_socio_fisca_simu_etat.config import Configuration

# Imports autres
from leximpact_socio_fisca_simu_etat.logger import logger as log

config = Configuration(project_folder="leximpact-prepare-data")
WARNING :  [Errno 2] No such file or directory: '/builds/leximpact/leximpact-pre/.env'
{% endraw %} {% raw %}
log.debug(config)
{% endraw %} {% raw %}
!ls {config.get("ERFS")}
{% endraw %} {% raw %}
erfs_filename = config.get("ERFS") + "erfs_flat_" + config.get("YEAR_ERFS") + ".h5"
erfs = pd.read_hdf(erfs_filename)  # Une ligne par individu

# On supprime cette colonne étonnante
erfs.drop("taux_csg_remplacement", axis=1, inplace=True)


print(len(erfs))  # Nombre d'individus
erfs.columns
erfs["wprm"].sum()

# Import de l'année de calcul (la même que celle de la base pour être cohérents)
annee_erfs = config.get("YEAR_ERFS")
{% endraw %}

Retirer les colonnes inutiles

{% raw %}

remove_useless_variables[source]

remove_useless_variables(input_h5, outfile_path, name_variables, PERIOD)

{% endraw %} {% raw %}
{% endraw %} {% raw %}
outfile = (
    config.get("DATA_OUT") + "01_erfs_reduced_" + config.get("YEAR_ERFS") + "_dev.h5"
)

# Variables d'intérêt
name_variables = ("rfr", "irpp", "nbptr")
# , 'csg', 'csg_deductible_chomage', 'imposable_chomage',
#    'csg_deductible_retraite', 'csg_imposable_retraite', 'csg_deductible_salaire', 'csg_imposable_salaire',
#    'csg_non_salarie', 'csg_patrimoine_deductible_ir', 'csg_revenus_capital',
#    'assiette_csg', 'assiette_csg_crds_non_salarie', 'assiette_csg_non_abattue', 'assiette_csg_plus_values', 'crds_non_salarie')

list_useless = remove_useless_variables(
    input_h5=erfs,
    outfile_path=outfile,
    name_variables=name_variables,
    PERIOD=annee_erfs,
)
print("List of variables that were removed : ", list_useless)
{% endraw %} {% raw %}
erfs_reduced = pd.read_hdf(outfile)
erfs_reduced.columns
erfs_reduced.head()
print("Nombre d'individus : ", len(erfs_reduced))
print("Somme des poids : ", erfs_reduced["wprm"].sum())
{% endraw %}
Remarques:

Pour calculer la CSG, il semblerait qu'il serait pas mal de garder 'activité', et pour les exonérations sociales 'effectif_entreprise' ?