Spaces:
No application file
No application file
#!/usr/bin/env python | |
# coding: utf-8 | |
# In[1]: | |
#classifier les actions RSE selon la méthode des 17 critères | |
from data_manager import get_data | |
def classify_actions_ODD(data): | |
data, _ = get_data() # Récupérer les données depuis data_manager.py | |
criteria = { | |
"Pas de pauvreté": [], | |
"Faim « Zéro »": [], | |
"Bonne santé et bien-être": [], | |
"Éducation de qualité": [], | |
"Eau propre et assainissement": [], | |
"Énergie propre et d'un coût abordable": [], | |
"Travail décent et croissance économique": [], | |
"Industrie, Innovation et infrastructure":[], | |
"Inégalités réduites":[], | |
"Villes et communautés durable":[], | |
"Consommation et production responsables":[], | |
"Lutte contre les changements climatiques":[], | |
"Vie aquatique":[], | |
"Vie terrestre":[], | |
"Paix, justice et institutions efficaces":[], | |
"Partenariats pour la réalisation des objectifs":[], | |
"Autres": [] | |
} | |
# Keywords pour les 17 critères | |
keywords = { | |
"Pas de pauvreté": ["pauvreté"], | |
"Faim « Zéro »": ["faim"], | |
"Bonne santé et bien-être": ["bonne santé", "santé", "bien-être"], | |
"Éducation de qualité": ["éducation de qualité", "éducation"], | |
"Eau propre et assainissement": ["eau","eau propre", "propre", "assainissement"], | |
"Énergie propre et d'un coût abordable": ["énergie","énergie propre","énergétique" ,"coût abordable"], | |
"Travail décent et croissance économique": ["travail", "travail décent", "croissance économique"], | |
"Industrie, Innovation et infrastructure":["industrie", "innovation", "innovation et infrastructure"], | |
"Inégalités réduites":["inégalités", "inégalités réduites"], | |
"Villes et communautés durable":["villes","villes et communautés durable"], | |
"Consommation et production responsables":["consommation", "consommation et production responsables"], | |
"Lutte contre les changements climatiques":["changements climatiques"], | |
"Vie aquatique":["vie aquatique", "milieu aquatique"], | |
"Vie terrestre":["vie terrestre"], | |
"Paix, justice et institutions efficaces":["paix", "justice", "institutions efficaces"], | |
"Partenariats pour la réalisation des objectifs":["partenariats"], | |
"Autres": [] | |
} | |
for record in data: | |
action_rse = record.get("action_rse", "").lower() | |
company_info = { | |
"name": record.get("nom_courant_denomination", "N/A"), | |
"action_rse": action_rse, | |
"activity": record.get("libelle_section_naf", "N/A"), | |
"city": record.get("commune", "N/A") | |
} | |
found_category = False | |
for criterion, key_phrases in keywords.items(): | |
if any(key_phrase in action_rse for key_phrase in key_phrases): | |
criteria[criterion].append(company_info) | |
found_category = True | |
break # Assuming each action belongs to one category only | |
# Si l'action n'a pas été classifiée dans une catégorie existante, la placer dans "Autres" | |
if not found_category: | |
criteria["Autres"].append(company_info) | |
return criteria | |
# In[4]: | |
data,_=get_data() | |
# In[5]: | |
classify_actions_ODD(data) | |
# In[119]: | |
# In[ ]: | |
# In[ ]: | |
# In[ ]: | |
# In[ ]: | |
# In[ ]: | |