Deal flow espaces verts 2018 - 2019#
Links: notebook
, html, python
, slides, GitHub
Ce jeu de données est proposé pour la réalisation d’un projet de module python pour partager une fonction de graphe. Un exemple de ce projet est proposé : td2a_plotting.
from jyquickhelper import add_notebook_menu
add_notebook_menu()
%matplotlib inline
Récupération des données#
from ensae_teaching_cs.data import deal_flow_espace_vert_2018_2019
filenames = deal_flow_espace_vert_2018_2019()
filenames
['./DEAL Flow automatisation 2019.xlsx', './Jeu de données deal flow 2018.csv']
import pandas
df19 = pandas.read_excel(filenames[0], engine='openpyxl')
df19.head()
DOMAINE | SOUS_DOMAINE | SOUS_DOMAINE_NIV2 | SOUS_DOMAINE_NIV3 | DOSSIER_CODE | DOSSIER_OBJET | TIERS NOM | COMMUNE | COMMUNE_X | COMMUNE_Y | DOSSIER_DATE_NOTIFICATION | DOSSIER_DUREE | iOpérationCout | iMontant total | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | D2-Economie Circulaire | 2DE-Déchets | 2DE.01-Prévention | 2DE.01.01-Réemploi/réparation | 19OCC0099 | Achat et pose de mobilier de seconde vie pour ... | SA HLM CHALETS | Toulouse | 1.431672 | 43.596382 | 2019-05-28 | 18.0 | 197001.00 | 15864.0 |
1 | D2-Economie Circulaire | 2DE-Déchets | 2DE.02-Valorisation organique | 2DE.02.01-Méthanisation | 18BRC0299 | BIOGAZ 2018 - Installation d'une unité de méth... | GAEC LA MOTTE COATHUAL | Plouguernével | -3.247116 | 48.234072 | 2019-03-06 | 48.0 | 1283771.16 | 160103.0 |
2 | D2-Economie Circulaire | 2DE-Déchets | 2DE.02-Valorisation organique | 2DE.02.01-Méthanisation | 18BRC0304 | BIOGAZ 2018 - Installation d'une unité de méth... | SAS METHA-GOURHAND | Martigné-Ferchaud | -1.328084 | 47.828196 | 2019-03-15 | 48.0 | 2073288.45 | 160417.0 |
3 | D1-Energie, changement climatique, qualité de ... | 1ER-Energies renouvelables et de récupération ... | 1ER.06-Solaire Th. | 1ER.06.03-Solaire tertiaire | 19COC0041 | AAP STCo - Alimentation ECS solaire d'une vill... | MINNA | Zonza | 9.266098 | 41.721407 | 2019-05-17 | 18.0 | 6000.00 | 3255.0 |
4 | D1-Energie, changement climatique, qualité de ... | 1ER-Energies renouvelables et de récupération ... | 1ER.05-Réseaux de chaleur distribution | 1ER.05.02-Extension de Réseaux de chaleur | 18RAC0252 | AAP AURESEAU 2018 : Extension/densification du... | COMPAGNIE DE CHAUFFAGE INTERCOMMUNALE DE L'AGG... | Grenoble | 5.721333 | 45.182120 | NaT | 65.0 | 98123000.00 | 8674236.0 |
L’encoding du fichier csv n’est pas évident à deviner. On utilise le module chardet pour cela.
import chardet
with open(filenames[1], 'rb') as f:
c = f.read()
chardet.detect(c)
{'encoding': 'Windows-1252', 'confidence': 0.73, 'language': ''}
df18 = pandas.read_csv(filenames[1], encoding="Windows-1252", sep=";", decimal=',')
df18.head()
DOMAINE | SOUS_DOMAINE | SOUS_DOMAINE_NIV2 | SOUS_DOMAINE_NIV3 | DOSSIER_CODE | DOSSIER_OBJET | TIERS_NOM | COMMUNE | COMMUNE_X | COMMUNE_Y | DOSSIER_DATE_NOTIFICATION | DOSSIER_DUREE | iNbDossiers | iOpérationCout | iMontantTotal | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | D1-Energie, changement climatique, qualité de ... | 1BA-Bâtiment | 1BA.01-Performance énergétique bâtiment | - | 17GAC0007 | Construction du groupe scolaire de Calvaire à ... | COMMUNE DE BAIE-MAHAULT | Guadeloupe | -61.539650 | 16.198191 | 23/05/2018 | 36 | 1 | 719730.0 | 20586.0 |
1 | D1-Energie, changement climatique, qualité de ... | 1BA-Bâtiment | 1BA.01-Performance énergétique bâtiment | - | 17MAC0054 | Lauréat AAP Rénovation Bâtiment - Rénovation é... | SA DE LA RAFFINERIE DES ANTILLES | Fort-de-France | -61.069188 | 14.641109 | 07/06/2018 | 26 | 1 | 488813.0 | 102154.0 |
2 | D1-Energie, changement climatique, qualité de ... | 1BA-Bâtiment | 1BA.01-Performance énergétique bâtiment | - | 17REC0125 | Projet PREBAT UFR santé | UNIVERSITE DE LA REUNION | La Réunion | 55.532483 | -21.133114 | 03/05/2018 | 36 | 1 | 14415686.0 | 194489.0 |
3 | D1-Energie, changement climatique, qualité de ... | 1BA-Bâtiment | 1BA.01-Performance énergétique bâtiment | - | 18GAC0013 | AAP BATEX 2017 - Réalisation de l'Hôtel Le Ré... | COMPAGNIE D'EXPLOITATION HOTELIERE DES ABYMES ... | Guadeloupe | -61.539650 | 16.198191 | 26/11/2018 | 36 | 1 | 7429000.0 | 182100.0 |
4 | D1-Energie, changement climatique, qualité de ... | 1BA-Bâtiment | 1BA.01-Performance énergétique bâtiment | - | 18GAC0015 | AAP BATEX 2017 - Construction du bâtiment CONF... | ELLAGUA | Guadeloupe | -61.539650 | 16.198191 | 27/07/2018 | 44 | 1 | 1418327.0 | 64511.0 |
Comparons les colonnes.
df18.columns
Index(['DOMAINE', 'SOUS_DOMAINE', 'SOUS_DOMAINE_NIV2', 'SOUS_DOMAINE_NIV3',
'DOSSIER_CODE', 'DOSSIER_OBJET', 'TIERS_NOM', 'COMMUNE', 'COMMUNE_X',
'COMMUNE_Y', 'DOSSIER_DATE_NOTIFICATION', 'DOSSIER_DUREE',
'iNbDossiers', 'iOpérationCout', 'iMontantTotal'],
dtype='object')
df19.columns
Index(['DOMAINE', 'SOUS_DOMAINE', 'SOUS_DOMAINE_NIV2', 'SOUS_DOMAINE_NIV3',
'DOSSIER_CODE', 'DOSSIER_OBJET', 'TIERS NOM', 'COMMUNE', 'COMMUNE_X',
'COMMUNE_Y', 'DOSSIER_DATE_NOTIFICATION', 'DOSSIER_DUREE',
'iOpérationCout', 'iMontant total'],
dtype='object')
Vues dynamiques#
On regarde un peu les données.
columns = list(sorted(set(list(df18.columns) + list(df19.columns)))) + ['montant']
from ipywidgets import interact
@interact(annee=[2018, 2019], column=columns, x=(0, 10000000, 100000))
def show_rows(annee=2018, column='montant', x=100000):
if annee == 2018:
if column == 'montant':
column = 'iMontantTotal'
return df18[df18[column] >= x].sort_values(column).T
else:
if column == 'montant':
column = 'iMontant total'
return df19[df19[column] >= x].sort_values(column).T
747 | 569 | 20 | 126 | 1 | 830 | 240 | 561 | 287 | 192 | ... | 189 | 134 | 209 | 947 | 217 | 211 | 273 | 212 | 222 | 111 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DOMAINE | D2-Economie Circulaire | D2-Economie Circulaire | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D2-Economie Circulaire | D1-Energie, changement climatique, qualité de ... | D2-Economie Circulaire | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D2-Economie Circulaire | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... | D1-Energie, changement climatique, qualité de ... |
SOUS_DOMAINE | 2DE-Déchets | 2DE-Déchets | 1EE-Efficacité énergétique dans la production ... | 1ER-Energies renouvelables et de récupération ... | 1BA-Bâtiment | 2DE-Déchets | 1ER-Energies renouvelables et de récupération ... | 2DE-Déchets | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 2DE-Déchets | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... | 1ER-Energies renouvelables et de récupération ... |
SOUS_DOMAINE_NIV2 | 2DE.02-Valorisation organique | 2DE.01-Prévention | 1EE.02-Process | 1ER.02-Biomasse approvisionnement | 1BA.01-Performance énergétique bâtiment | 2DE.02-Valorisation organique | 1ER.05-Réseaux de chaleur distribution | 2DE.01-Prévention | 1ER.05-Réseaux de chaleur distribution | 1ER.03-Géothermie | ... | 1ER.03-Géothermie | 1ER.03-Géothermie | 1ER.05-Réseaux de chaleur distribution | 2DE.03-Recyclage et valorisation énergétique | 1ER.05-Réseaux de chaleur distribution | 1ER.05-Réseaux de chaleur distribution | 1ER.05-Réseaux de chaleur distribution | 1ER.05-Réseaux de chaleur distribution | 1ER.05-Réseaux de chaleur distribution | 1ER.01-Biomasse |
SOUS_DOMAINE_NIV3 | 2DE.02.01-Méthanisation | 2DE.01.01-Réemploi/réparation | - | - | - | 2DE.02.04-Desemballage/déconditionnement | 1ER.05.01-Création de Réseaux de chaleur | 2DE.01.01-Réemploi/réparation | 1ER.05.02-Extension de Réseaux de chaleur | 1ER.03.06-Opération sur aquifère superficiel <... | ... | 1ER.03.05-Opération sur aquifère profond >200m... | 1ER.03.02-PAC sur eaux usées | 1ER.05.01-Création de Réseaux de chaleur | 2DE.03.08-Equipements valo énergétique hors mé... | 1ER.05.01-Création de Réseaux de chaleur | 1ER.05.01-Création de Réseaux de chaleur | 1ER.05.02-Extension de Réseaux de chaleur | 1ER.05.01-Création de Réseaux de chaleur | 1ER.05.01-Création de Réseaux de chaleur | 1ER.01.02-Chaufferie biomasse industrie |
DOSSIER_CODE | 17GEC0327 | 17NOC0147 | 17RAC0171 | 18NOC0009 | 17MAC0054 | 18OCC0042 | 18GEC0049 | 17GEC0583 | 18GEC0063 | 17CLC0150 | ... | 1520C0553 | 17PAC0007 | 1622C0004 | 17NAC0421 | 17CLC0167 | 1633C0081 | 17HFC0107 | 1634C0195 | 17HFC0199 | 1803C0022 |
DOSSIER_OBJET | Installation d'une unité de méthanisation avec... | Création d'un tiers lieu du réemploi des déche... | Appel à projets 2017 "Transition énergétique &... | AMI DYNAMIC BOIS 2015 : Acquisition d'un débus... | Lauréat AAP Rénovation Bâtiment - Rénovation é... | création d'une unité de biodéconditionnement à... | Création d' un réseau de chaleur à partir de l... | Création d'une recyclerie sur le territoire de... | Extension du réseau de chaleur VOLTINOV pour r... | réalisation d'une installation géothermique su... | ... | Réaliser une centrale de géothermie profonde d... | NTE - Création d'une boucle d'eau tempérée sur... | AAP 2017 - Réseau de chaleur bois-énergie à Au... | AAP "Produire de la chaleur à partir de Combus... | Création d'une chaufferie biomasse et d'un rés... | Création d'un réseau de chaleur alimenté par l... | Extension et adaptation du réseau de chaleur u... | Création d'une chaufferie bois-énergie produis... | Développement des réseaux de chaleur et produc... | Construction d'une installation biomasse sur l... |
TIERS_NOM | GROUPEMENT AGRICOLE D EXPLOITATION EN COMMUN D... | LE HANGAR 0 LE HANGAR ZERO | ALAIN DULAC | VENDANGER LAURENT | SA DE LA RAFFINERIE DES ANTILLES | SOCIETE PATRICK TUBERT | SIVOM DE L'AGGLOMERATION MULHOUSIENNE | COMMUNAUTE DE COMMUNES DU PAYS DE COLOMBEY ET ... | COMPTOIR AGRICOLE D ACHAT ET DE VENTE | CC DU CHATILLONNAIS EN BERRY | ... | ELECTRICITE DE STRASBOURG / ES ILLKIRCH GEOTHE... | DALKIA | AURILLAC CHALEUR BOIS | SUEZ RV FRANCE | ENGIE ENERGIE SERVICES / TOURS METROPOLE-ENERG... | GREEN ENERGIE BRIVE | SA ETUD REALIS GESTION RESEAU CHALEUR ND | DALKIA | AMIENS ENERGIES | TARANIS DU ROUVRAY |
COMMUNE | Donnelay | Havre (Le) | Cublize | Normandie | Fort-de-France | Elne | Sausheim | NaN | Marlenheim | Châtillon-sur-Indre | ... | Illkirch-Graffenstaden | Nice | Aurillac | Saint-Michel | Tours | Brive-la-Gaillarde | Lille | Sarreguemines | Amiens | Saint-Étienne-du-Rouvray |
COMMUNE_X | 6.688837 | 0.140074 | 4.387367 | 0.110814 | -61.069188 | 2.971194 | 7.40066 | NaN | 7.50589 | 1.175097 | ... | 7.731296 | 7.238269 | 2.441624 | 0.110389 | 0.696524 | 1.519368 | 3.047833 | 7.069432 | 2.290075 | 1.089769 |
COMMUNE_Y | 48.750185 | 49.498472 | 46.024511 | 49.120255 | 14.641109 | 42.60086 | 47.782498 | NaN | 48.619055 | 46.991707 | ... | 48.52005 | 43.711992 | 44.924523 | 45.639858 | 47.398637 | 45.143583 | 50.631718 | 49.108814 | 49.900953 | 49.381494 |
DOSSIER_DATE_NOTIFICATION | 05/04/2018 | 26/11/2018 | 10/07/2018 | 26/04/2018 | 07/06/2018 | 13/03/2018 | 23/10/2018 | 16/07/2018 | 15/11/2018 | 21/09/2018 | ... | 21/06/2018 | 12/11/2018 | 13/04/2018 | 29/11/2018 | 26/11/2018 | 20/04/2018 | 20/11/2018 | 04/09/2018 | 18/06/2018 | 27/07/2018 |
DOSSIER_DUREE | 40 | 18 | 30 | 24 | 26 | 18 | 36 | 18 | 18 | 36 | ... | 36 | 66 | 48 | 45 | 96 | 42 | 72 | 57 | 72 | 96 |
iNbDossiers | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ... | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
iOpérationCout | 1064320.0 | 795000.0 | 308181.0 | 253000.0 | 488813.0 | 359117.0 | 189502.0 | 370000.0 | 665770.0 | 398173.0 | ... | 31609480.0 | 24943544.0 | 9165541.0 | 31200000.0 | 11319500.0 | 18316449.0 | 27745000.0 | 15491429.0 | 32688506.0 | 43535173.0 |
iMontantTotal | 100000.0 | 100000.0 | 100000.0 | 101200.0 | 102154.0 | 102370.0 | 102758.0 | 103740.0 | 103770.0 | 104200.0 | ... | 4900000.0 | 4944008.0 | 5499325.0 | 5521000.0 | 6420500.0 | 6585500.0 | 7188000.0 | 7189010.0 | 14661241.0 | 14990000.0 |
15 rows × 514 columns
interactive(children=(Dropdown(description='annee', options=(2018, 2019), value=2018), Dropdown(description='c…
Une carte#
On regarde les projets sur la métropole en 2018.
lim_metropole = [-5, 10, 41, 52]
df18_metro = df18[((df18.COMMUNE_X >= lim_metropole[0]) & (df19.COMMUNE_X <= lim_metropole[1]) &
(df18.COMMUNE_Y >= lim_metropole[2]) & (df19.COMMUNE_Y <= lim_metropole[3]))]
df18.shape, df18_metro.shape
((1036, 15), (271, 15))
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(7, 7))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.set_extent(lim_metropole)
ax.add_feature(cfeature.OCEAN.with_scale('50m'))
ax.add_feature(cfeature.COASTLINE.with_scale('50m'))
ax.add_feature(cfeature.RIVERS.with_scale('50m'))
ax.add_feature(cfeature.BORDERS.with_scale('50m'), linestyle=':')
ax.scatter(df18_metro.COMMUNE_X, df18_metro.COMMUNE_Y,
s=df18_metro.iMontantTotal ** 0.5 / 20, alpha=0.5)
ax.set_title('France 2018\ninvestissements verts');
# debug
