|
|
| import streamlit as st |
| import pandas as pd |
|
|
| dict_comparaison_1kgCO2 = { |
| "eau en litre":[374/100,"https://impactco2.fr/icons/eauenbouteille.svg"], |
| "smartphones": [1.16/100,"https://impactco2.fr/icons/smartphone.svg"], |
| "voiture en km": [460/100,"https://impactco2.fr/icons/voiturethermique.svg"], |
| "tgv en km":[34130/100,"https://impactco2.fr/icons/tgv.svg"], |
| } |
|
|
| def compare(value_init, ratio_equivalent): |
| return ratio_equivalent * value_init if ratio_equivalent else None |
|
|
| def display_comparaison(container,value_init, ratio_equivalent,icon, unit): |
| |
| link_url = f"https://impactco2.fr/outils/comparateur?value={value_init}&comparisons=tgv,eauenbouteille,voiturethermique" |
| container.markdown(f"<div style='text-align: center;'><a href='{link_url}' target='_blank'><img src='{icon}' alt='{unit}' width='50'></div>", unsafe_allow_html=True) |
| container.markdown(f"<div style='text-align: center;'><b>{compare(value_init, ratio_equivalent):.2f}</b> {unit}</div>", unsafe_allow_html=True) |
|
|
| def custom_cumsum(ecologits_series, codecarbon_series): |
| cumsum = 0 |
| result = [] |
| for eco, code in zip(ecologits_series, codecarbon_series): |
| if code == 0: |
| result.append(0) |
| else: |
| cumsum += eco |
| result.append(cumsum) |
| return pd.Series(result, index=ecologits_series.index) |
|
|
|
|
| def get_table_empreintes_detailed() -> pd.DataFrame: |
| emissions_data = st.session_state["partial_emissions"] |
| emissions_df = pd.DataFrame(emissions_data).T |
|
|
| |
| emissions_df = emissions_df.rename(columns={"cc": "CodeCarbon (Cumulative)", "el": "EcoLogits (par requete)"}) |
| emissions_df = emissions_df.applymap(lambda x: x * 1000) |
| emissions_df = emissions_df.round(2) |
| emissions_df = emissions_df.rename(index={ |
| "Scrapping": "Collecte de Documents et scrapping", |
| "extraction_pp": "Extraction des parties prenantes", |
| "cartographie": "Sauvegarde de la cartographie", |
| "chatbot": "Dialogue avec ChatBot IA", |
| "download_rapport": "Téléchargement Cartographie" |
| }) |
|
|
| |
| emissions_df["EcoLogits (Cumulative)"] = custom_cumsum(emissions_df["EcoLogits (par requete)"], emissions_df["CodeCarbon (Cumulative)"]) |
|
|
| emissions_df['Consommation Totale'] = emissions_df["CodeCarbon (Cumulative)"] + emissions_df["EcoLogits (Cumulative)"] |
|
|
| return emissions_df |