Pour effectuer une analyse sur les diagnostics de performance énergétique, nous avons besoin de plusieurs jeux de donnée:
Les données concernant les relevée d'information sur les batiments: https://koumoul.com/s/data-fair/api/v1/datasets/dpe-38/raw (data.csv)
Les données sur le nombre de batiments par ville (en 2017): https://www.observatoire-des-territoires.gouv.fr/outils/cartographie-interactive/api/v1/functions/GC_API_download.php?type=stat&nivgeo=com2020&dataset=insee_rp_hist_1968&indic=p_log (_nb_batcommunes.xlsx)
Les données de locaclisation des 49 communes de la métropole: https://entrepot.metropolegrenoble.fr/opendata/Metro/LimitesCommunales/json/LIMITES_COMMUNALES_METRO_EPSG4326.json (_communegrenoble.json)
/root/.local/share/virtualenvs/projet_metro-6F_dPYsS/lib/python3.8/site-packages/IPython/core/interactiveshell.py:3169: DtypeWarning: Columns (35,36,37,39,52,80,83) have mixed types.Specify dtype option on import or set low_memory=False. has_raised = await self.run_ast_nodes(code_ast.body, cell_name,
data.csv est le fichier qui contient toutes les données récoltées concernant les diagnostics sur la consommation énergétique des logements, et il est trop lourd pour être manipulé aisément.
Pour exploiter les données pertinentes au besoin primaire, nous n'avons besoin que de quelques colonnes.
Pour cela, nous créons un dataframe qui est la réduction du jeu de donné initial, avec la sélection des 49 communes de la métropole et les colonnes utiles pour le diagnostic. J'en extrait aussi un csv si besoin de manipulation. (nom du csv : data_49_communes_column_use.csv) Les colonnes gardé pour le traitement sont:
Voici un extrait du csv réduit:
result_id | commune | code_insee_commune | classe_consommation_energie | classe_estimation_ges | latitude | longitude | |
---|---|---|---|---|---|---|---|
17 | 38485_0660_00053 | seyssinet-pariset | 38485 | C | D | 45.179152 | 5.688609 |
18 | 38485_0660_00045 | seyssinet-pariset | 38485 | C | D | 45.179485 | 5.688572 |
22 | 38185_3950_00039 | grenoble | 38000 | D | E | 45.200182 | 5.734878 |
25 | 38185_0640_00011 | grenoble | 38000 | D | E | 45.183081 | 5.720194 |
30 | 38421_0035_00140 | saint-martin-d'hères | 38400 | D | E | 45.183355 | 5.755226 |
Pour la suite des travaux, je comptais utiliser les codes insee comme point de référence de localisation, pour être précis sur la sélection des 49 communes, en partant de l'idée que chaque code insee avait une commune unique associée.
Cependant, en travaillant avec les données, je me suis aperçu que le code insee n'était pas fiable car un seul code pouvait avoir plusieurs communes. Après analyse, le moyen d'être le plus précis a été de partir des noms de communes et de standardiser les noms en minuscule.
Tout le travail qui suit à été fait sur cette base. J'ai comparé les nom de communes du fichier json au nom de communes qui apparaissent dans le csv pour les visualisations qui vont suivre.
Du csv raffiné, je créer un autre data frame qui va contenir les valeurs suivante pour chacune des 49 communes:
Voici un extrait pour 5/49 communes:
code_insee | commune | Année | nb_logement/ville | nb_logement_controle | taux_couverture en % | |
---|---|---|---|---|---|---|
0 | 38057 | bresson | 2017 | 306 | 60 | 19 |
1 | 38059 | brié-et-angonnes | 2017 | 1077 | 98 | 9 |
2 | 38068 | champagnier | 2017 | 518 | 101 | 19 |
3 | 38071 | champ-sur-drac | 2017 | 1373 | 269 | 19 |
4 | 38111 | claix | 2017 | 3468 | 774 | 22 |
Avec les deux dataframes exposé plus haut, je peut faire des analyse sur les tendances générale
<AxesSubplot:>
<AxesSubplot:xlabel='count', ylabel='classe_consommation_energie'>