Commit 9c288dc3 authored by Lionel's avatar Lionel
Browse files

Resolve "Ajouter une colonne "nombre_exploitations" dans...

Resolve "Ajouter une colonne "nombre_exploitations" dans population_agricole.csv (a partir de AGRESTE FDS_G_2005.zip déjà utilisé)"
parent cacfdb3a
......@@ -60,26 +60,24 @@ def _charger_sources(
) -> DictDataFrames:
log.info("##### CHARGEMEMENT DES DONNEES SOURCES POPULATION AGRICOLE #####")
df_agreste_actifs_agricoles_2010 = chargeur_actifs_agricoles_permanents.charger(chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_2010.txt"
).rename(columns={'Nombre de personnes': 'actifs_agricoles_permanents_2010',
'Nombre d\'exploitations': 'nb_exploitations_2010'})
df_agreste_actifs_agricoles_1988 = chargeur_actifs_agricoles_permanents.charger(chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_1988.txt"
).rename(columns={'Nombre de personnes': 'actifs_agricoles_permanents_1988',
'Nombre d\'exploitations': 'nb_exploitations_1988'})
actifs_agricoles_permanents = pd.merge(
chargeur_actifs_agricoles_permanents.charger(
chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_2010.txt"
)[['id_territoire', 'valeur']].rename(
columns={'valeur': 'actifs_agricoles_permanents_2010'}, errors='raise'
),
chargeur_actifs_agricoles_permanents.charger(
chemin_fichier_actifs_agricoles_permanents,
"FDS_G_2005_1988.txt"
)[['id_territoire', 'valeur']].rename(
columns={'valeur': 'actifs_agricoles_permanents_1988'}, errors='raise'
),
df_agreste_actifs_agricoles_2010,
df_agreste_actifs_agricoles_1988,
how="outer",
on="id_territoire"
)
return {
'actifs_agricoles_permanents': actifs_agricoles_permanents
}
return actifs_agricoles_permanents
def _calculer_donnees_population_agricole(
......@@ -90,37 +88,35 @@ def _calculer_donnees_population_agricole(
'annee_dernier_mouvement_commune', 'population_totale_2010', 'population_totale_1990']
donnees_population_agricole = territoires[colonnes]
donnees_actifs_agricoles_permanents = sources_population_agricole['actifs_agricoles_permanents'].set_index('id_territoire')
donnees_actifs_agricoles_permanents = sources_population_agricole.set_index('id_territoire')
donnees_population_agricole = donnees_population_agricole.join(donnees_actifs_agricoles_permanents)
donnees_population_agricole.loc[
(donnees_population_agricole['categorie_territoire'] == 'COMMUNE') &
(donnees_population_agricole['actifs_agricoles_permanents_2010'].isnull()),
'actifs_agricoles_permanents_2010'] = 0
donnees_population_agricole = nettoyer_et_consolider_champ_indicateur(donnees_population_agricole,
'actifs_agricoles_permanents_2010')
donnees_population_agricole = nettoyer_et_consolider_champ_indicateur(donnees_population_agricole,
'actifs_agricoles_permanents_1988')
donnees_population_agricole.loc[
(donnees_population_agricole['categorie_territoire'] == 'COMMUNE') &
(donnees_population_agricole['actifs_agricoles_permanents_1988'].isnull()),
'actifs_agricoles_permanents_1988'] = 0
donnees_population_agricole = nettoyer_et_consolider_champ_indicateur(donnees_population_agricole,
'nb_exploitations_2010')
donnees_population_agricole = nettoyer_et_consolider_champ_indicateur(donnees_population_agricole,
'nb_exploitations_1988')
donnees_population_agricole.loc[
donnees_population_agricole.annee_dernier_mouvement_commune > 2011, 'actifs_agricoles_permanents_2010'] = np.nan
donnees_population_agricole.loc[
donnees_population_agricole.annee_dernier_mouvement_commune > 2011, 'actifs_agricoles_permanents_1988'] = np.nan
donnees_population_agricole = trier_territoires(donnees_population_agricole)
return donnees_population_agricole
def nettoyer_et_consolider_champ_indicateur(donnees_population_agricole, nom_champ_indicateur):
donnees_population_agricole.loc[
(donnees_population_agricole['categorie_territoire'] == 'COMMUNE') &
(donnees_population_agricole[nom_champ_indicateur].isnull()),
nom_champ_indicateur] = 0
donnees_population_agricole.loc[
donnees_population_agricole.annee_dernier_mouvement_commune > 2011, nom_champ_indicateur] = np.nan
donnees_population_agricole = outils_territoires.ajouter_donnees_epcis_et_regroupements_communes_par_somme_donnees_communales(
donnees_population_agricole,
'actifs_agricoles_permanents_2010',
type='Int64'
)
donnees_population_agricole = outils_territoires.ajouter_donnees_epcis_et_regroupements_communes_par_somme_donnees_communales(
donnees_population_agricole,
'actifs_agricoles_permanents_1988',
nom_champ_indicateur,
type='Int64'
)
donnees_population_agricole = trier_territoires(donnees_population_agricole)
return donnees_population_agricole
......@@ -41,9 +41,9 @@ def charger(chemin_fichier, fichier):
'QUALITE': 'qualite'
},
errors='raise'
).query("taille_exploitation == 'Ensemble des exploitations (hors pacages collectifs)'" +
" & lien_avec_exploitation == 'Ensemble'" +
" & indicateur == 'Nombre de personnes'"
).query('taille_exploitation == "Ensemble des exploitations (hors pacages collectifs)"' +
' & lien_avec_exploitation == "Ensemble"' +
' & indicateur in ["Nombre de personnes", "Nombre d\'exploitations"]'
).reindex(
columns=['FRANCE',
'FRDOM',
......@@ -59,22 +59,30 @@ def charger(chemin_fichier, fichier):
).astype(
{"valeur": "Int64"}
)
return _creer_df_actifs_agricoles_permanents(df)
def _creer_df_actifs_agricoles_permanents(df):
df = _selectionner_et_renommer_les_territoires(df)
df = _extraire_colonnes_par_pivot(df)
return df
def _selectionner_et_renommer_les_territoires(df):
df.insert(0, "id_territoire", np.nan)
df_communes = df.query("COM != '............'")
df_departements = df.query("COM == '............' & DEP != '............'")
df_regions = df.query("DEP == '............' & REGION != '............'")
df_pays = df.query("FRDOM == 'METRO' & REGION == '............'")
df_communes.id_territoire = traduire_code_insee_vers_id_commune_crater(df_communes.COM)
df_departements.id_territoire = traduire_code_insee_vers_id_departement_crater(df_departements.DEP)
df_regions.id_territoire = traduire_code_insee_vers_id_region_crater(df_regions.REGION.str.replace('NR', ''))
df_pays.id_territoire = traduire_code_insee_vers_id_pays_crater(df_pays.FRANCE)
return pd.concat([df_communes, df_departements, df_regions, df_pays]).drop(columns=['FRANCE', 'FRDOM', 'REGION', 'DEP', 'COM'])
def _extraire_colonnes_par_pivot(df):
return df.pivot(index='id_territoire', columns='indicateur', values='valeur').reset_index()
id_territoire;nom_territoire;categorie_territoire;population_totale_2010;population_totale_1990;actifs_agricoles_permanents_2010;actifs_agricoles_permanents_1988;part_population_agricole_2010_valeur_pourcent;part_population_agricole_2010_note;part_population_agricole_1988_valeur_pourcent;part_population_agricole_1988_note;evolution_part_population_agricole_valeur_pt_de_pourcentage;evolution_part_population_agricole_note;synthese_note;synthese_message
P-FR;France;PAYS;26494;8421;102;344;0.38;5.00;4.09;5.00;-3.70;5.00;5;Population agricole <strong>en proportion proche de la moyenne française</strong> mais <strong>en déclin</strong>
R-11;Île-de-France;REGION;20000;2000;;;;;;;;;;Données non disponibles
R-75;Nouvelle-Aquitaine;REGION;6445;6370;;;;;;;;;;Données non disponibles
R-76;Occitanie;REGION;49;51;;;;;;;;;;Données non disponibles
D-32;Gers;DEPARTEMENT;49;51;;;;;;;;;;Données non disponibles
D-40;Landes;DEPARTEMENT;6445;6370;;;;;;;;;;Données non disponibles
D-75;Paris;DEPARTEMENT;20000;2000;;;;;;;;;;Données non disponibles
PAT-1;Le PAT monocommunal du Gée-Rivière;REGROUPEMENT_COMMUNES;49;51;24;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
PAT-2;Le PAT interdepartemental D-32 (3 communes) D-40 (2 communes);REGROUPEMENT_COMMUNES;6494;6421;102;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
SCOT-1;Le SCOT monocommunal de Paris;REGROUPEMENT_COMMUNES;20000;2000;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
SCOT-2;Le SCOT monocommunal de Gée-Rivière;REGROUPEMENT_COMMUNES;49;51;24;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
SCOT-3;Le SCOT interdepartemental D-32 (3 communes) D-40 (2 communes);REGROUPEMENT_COMMUNES;6494;6421;102;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
E-200030435;CC d'Aire-sur-l'Adour;EPCI;6494;6421;102;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
E-200054781;Métropole du Grand Paris;EPCI;20000;2000;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
C-32145;Gée-Rivière;COMMUNE;49;51;24;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
C-32333;Projan(scission2020);COMMUNE;;;;;;;;;;;;Données non disponibles
C-32424;Ségos(fusion2017);COMMUNE;;;;;;;;;;;;Données non disponibles
C-40001;Aire-sur-l'Adour;COMMUNE;6279;6205;14;71;0.22;2.90;1.14;1.40;-0.92;8.80;5;Population agricole <strong>en proportion plus faible que la moyenne française</strong> et <strong>en déclin</strong>
C-40146;Latrille;COMMUNE;166;165;64;186;38.55;10.00;112.73;10.00;-74.17;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
C-75056;Paris;COMMUNE;20000;2000;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
id_territoire;nom_territoire;categorie_territoire;population_totale_2010;population_totale_1990;nb_exploitations_2010;actifs_agricoles_permanents_2010;nb_exploitations_1988;actifs_agricoles_permanents_1988;part_population_agricole_2010_valeur_pourcent;part_population_agricole_2010_note;part_population_agricole_1988_valeur_pourcent;part_population_agricole_1988_note;evolution_part_population_agricole_valeur_pt_de_pourcentage;evolution_part_population_agricole_note;synthese_note;synthese_message
P-FR;France;PAYS;26494;8421;514694;102;1067156;344;0.38;5.00;4.09;5.00;-3.70;5.00;5;Population agricole <strong>en proportion proche de la moyenne française</strong> mais <strong>en déclin</strong>
R-11;Île-de-France;REGION;20000;2000;;;;;;;;;;;;Données non disponibles
R-75;Nouvelle-Aquitaine;REGION;6445;6370;;;;;;;;;;;;Données non disponibles
R-76;Occitanie;REGION;49;51;;;;;;;;;;;;Données non disponibles
D-32;Gers;DEPARTEMENT;49;51;;;;;;;;;;;;Données non disponibles
D-40;Landes;DEPARTEMENT;6445;6370;;;;;;;;;;;;Données non disponibles
D-75;Paris;DEPARTEMENT;20000;2000;;;;;;;;;;;;Données non disponibles
PAT-1;Le PAT monocommunal du Gée-Rivière;REGROUPEMENT_COMMUNES;49;51;9;24;44;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
PAT-2;Le PAT interdepartemental D-32 (3 communes) D-40 (2 communes);REGROUPEMENT_COMMUNES;6494;6421;54;102;184;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
SCOT-1;Le SCOT monocommunal de Paris;REGROUPEMENT_COMMUNES;20000;2000;0;0;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
SCOT-2;Le SCOT monocommunal de Gée-Rivière;REGROUPEMENT_COMMUNES;49;51;9;24;44;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
SCOT-3;Le SCOT interdepartemental D-32 (3 communes) D-40 (2 communes);REGROUPEMENT_COMMUNES;6494;6421;54;102;184;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
E-200030435;CC d'Aire-sur-l'Adour;EPCI;6494;6421;54;102;184;344;1.57;10.00;5.36;6.60;-3.79;4.90;10;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
E-200054781;Métropole du Grand Paris;EPCI;20000;2000;0;0;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
C-32145;Gée-Rivière;COMMUNE;49;51;9;24;44;87;48.98;10.00;170.59;10.00;-121.61;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
C-32333;Projan(scission2020);COMMUNE;;;;;;;;;;;;;;Données non disponibles
C-32424;Ségos(fusion2017);COMMUNE;;;;;;;;;;;;;;Données non disponibles
C-40001;Aire-sur-l'Adour;COMMUNE;6279;6205;9;14;38;71;0.22;2.90;1.14;1.40;-0.92;8.80;5;Population agricole <strong>en proportion plus faible que la moyenne française</strong> et <strong>en déclin</strong>
C-40146;Latrille;COMMUNE;166;165;36;64;102;186;38.55;10.00;112.73;10.00;-74.17;0.00;8;Population agricole <strong>en proportion plus élevée que la moyenne française</strong> mais <strong>en déclin</strong>
C-75056;Paris;COMMUNE;20000;2000;0;0;0;0;0.00;0.00;0.00;0.00;0.00;10.00;2;Population agricole <strong>stable</strong> mais <strong>en proportion plus faible que la moyenne française</strong>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment