#!/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[ ]: