Jawad commited on
Commit
8ef3c9d
·
1 Parent(s): d778de8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -29
app.py CHANGED
@@ -6,7 +6,7 @@ import ast
6
 
7
  used_fields = ["classe_consommation_energie",
8
  "commentaires_ameliorations_recommandations",
9
- "nom_methode_dpe",
10
  "usr_diagnostiqueur_id",
11
  "numero_dpe",
12
  "secteur_activite",
@@ -16,6 +16,7 @@ used_fields = ["classe_consommation_energie",
16
  "tv016_departement_departement",
17
  "long_lat",
18
  "address",
 
19
  "commune"]
20
 
21
 
@@ -36,9 +37,10 @@ def _max_width_():
36
  # force screen width
37
  _max_width_()
38
 
 
39
  @st.cache
40
  def load_data():
41
- return pd.read_csv("outlier_V2.csv", sep=",")# pd.read_excel("dpe-tertiaire.xlsx")
42
 
43
 
44
  st.header("Analyse des anomalies sur les DPE")
@@ -53,8 +55,6 @@ sub_DPE = DPE[DPE.tv016_departement_departement == departe]
53
  commune = st.sidebar.selectbox('Séléctionnez la commune', sub_DPE['commune'].unique())
54
  sub_DPE = DPE[DPE.commune == commune].dropna()
55
 
56
- st.subheader("DPEs effectués")
57
- #st.dataframe(sub_DPE)
58
  st.subheader("Selectionner des certificateurs")
59
  certificateur = st.multiselect("Organismes certificateurs",
60
  sub_DPE['organisme_certificateur'].unique(), [])
@@ -62,30 +62,36 @@ certificateur = st.multiselect("Organismes certificateurs",
62
  if certificateur:
63
  sub_DPE = sub_DPE[sub_DPE.organisme_certificateur.isin(certificateur)]
64
 
65
-
66
  sub_DPE.long_lat = sub_DPE.long_lat.apply(ast.literal_eval)
67
 
68
- sub_DPE["address"] = sub_DPE.address.str.replace("nan ","")
69
- # set the map center
70
- m = folium.Map(location=sub_DPE.long_lat.values[0], zoom_start=12)
71
- for index, row in sub_DPE.iterrows():
72
- tooltip = row['address']
73
-
74
- html = f"<h2>{row['address']}</h2><ul><li><b>Classe d'energie attribué: </b>{row['classe_consommation_energie']}</li><br>" \
75
- f"<li><b>Méthode utilisée: </b>{row['nom_methode_dpe']}</li><br>" \
76
- f"<li><b>Secteur Activite: </b>{row['secteur_activite']}</li><br>" \
77
- f"<li><b>Année de construction: </b>{int(row['annee_construction'])}</li><br>" \
78
- f"<li><b>Commentaire: </b>{row['commentaires_ameliorations_recommandations']}</li><br>" \
79
- f"<li><b>Organisme Certificateur: </b>{row['organisme_certificateur']} - {row['adresse_organisme_certificateur']}</li></ul>"
80
-
81
- iframe = folium.IFrame(html)
82
- popup = folium.Popup(iframe,
83
- min_width=500,
84
- max_width=500)
85
-
86
- folium.Marker(
87
- row['long_lat'], popup=popup, tooltip=tooltip
88
- ).add_to(m)
89
-
90
- # call to render Folium map in Streamlit
91
- folium_static(m, width=1400)
 
 
 
 
 
 
 
 
6
 
7
  used_fields = ["classe_consommation_energie",
8
  "commentaires_ameliorations_recommandations",
9
+ "nom_methode_dpe",
10
  "usr_diagnostiqueur_id",
11
  "numero_dpe",
12
  "secteur_activite",
 
16
  "tv016_departement_departement",
17
  "long_lat",
18
  "address",
19
+ "positif_negatif",
20
  "commune"]
21
 
22
 
 
37
  # force screen width
38
  _max_width_()
39
 
40
+
41
  @st.cache
42
  def load_data():
43
+ return pd.read_csv("outlier_V2.csv", sep=",")
44
 
45
 
46
  st.header("Analyse des anomalies sur les DPE")
 
55
  commune = st.sidebar.selectbox('Séléctionnez la commune', sub_DPE['commune'].unique())
56
  sub_DPE = DPE[DPE.commune == commune].dropna()
57
 
 
 
58
  st.subheader("Selectionner des certificateurs")
59
  certificateur = st.multiselect("Organismes certificateurs",
60
  sub_DPE['organisme_certificateur'].unique(), [])
 
62
  if certificateur:
63
  sub_DPE = sub_DPE[sub_DPE.organisme_certificateur.isin(certificateur)]
64
 
 
65
  sub_DPE.long_lat = sub_DPE.long_lat.apply(ast.literal_eval)
66
 
67
+ sub_DPE["address"] = sub_DPE.address.str.replace("nan ", "")
68
+ if sub_DPE.shape[0]:
69
+ # set the map center
70
+ m = folium.Map(location=sub_DPE.long_lat.values[0], zoom_start=12)
71
+ for index, row in sub_DPE.iterrows():
72
+ tooltip = row['address']
73
+
74
+ if row["positif_negatif"] == "sous_estimé":
75
+ color = "green"
76
+ else:
77
+ color = "red"
78
+
79
+ html = f"<h2>{row['address']}</h2><ul><li><b>Classe d'energie attribué: </b>{row['classe_consommation_energie']}</li><br>" \
80
+ f"<li><b style = 'color:{color}' >D'apres notre algorithme le DPE est {row['positif_negatif']}</b></li><br>" \
81
+ f"<li><b>Méthode utilisée: </b>{row['nom_methode_dpe']}</li><br>" \
82
+ f"<li><b>Secteur Activite: </b>{row['secteur_activite']}</li><br>" \
83
+ f"<li><b>Année de construction: </b>{int(row['annee_construction'])}</li><br>" \
84
+ f"<li><b>Commentaire: </b>{row['commentaires_ameliorations_recommandations']}</li><br>" \
85
+ f"<li><b>Organisme Certificateur: </b>{row['organisme_certificateur']} - {row['adresse_organisme_certificateur']}</li></ul>"
86
+
87
+ iframe = folium.IFrame(html)
88
+ popup = folium.Popup(iframe,
89
+ min_width=500,
90
+ max_width=700)
91
+
92
+ folium.Marker(
93
+ row['long_lat'], popup=popup, tooltip=tooltip, icon=folium.Icon(color=color),
94
+ ).add_to(m)
95
+
96
+ # call to render Folium map in Streamlit
97
+ folium_static(m, width=1400)