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[ ]: | |