Spaces:
Sleeping
Sleeping
| """Module de fonctions pour formater les recommandations de cultures de manière lisible pour l'utilisateur. | |
| Ce module contient des fonctions pour traduire les noms de cultures de l'anglais vers le français | |
| et pour préparer les messages et les tableaux de recommandations à afficher.""" | |
| CROP_TRANSLATIONS = { | |
| "Cassava": "Manioc", | |
| "Maize": "Maïs", | |
| "Plantains and others": "Bananes plantains et assimilés", | |
| "Potatoes": "Pommes de terre", | |
| "Rice, paddy": "Riz paddy", | |
| "Sorghum": "Sorgho", | |
| "Soybeans": "Soja", | |
| "Sweet potatoes": "Patates douces", | |
| "Wheat": "Blé", | |
| "Yams": "Ignames", | |
| } | |
| def translate_crop(crop_name): | |
| """ Traduit le nom d'une culture de l'anglais vers le français. | |
| Args: | |
| crop_name (str): Le nom de la culture en anglais. | |
| Returns: | |
| str: Le nom de la culture en français, ou le nom original si aucune traduction n'est disponible. | |
| """ | |
| return CROP_TRANSLATIONS.get(crop_name, crop_name) | |
| def format_recommendation_output(best_crop, recommendations_df): | |
| """ | |
| Prépare un message et un tableau lisible pour l'utilisateur. | |
| Args: | |
| best_crop (dict): Un dictionnaire contenant les informations sur la meilleure culture recommandée. | |
| recommendations_df (pd.DataFrame): Un DataFrame contenant les recommandations de cultures avec leurs rendements estimés. | |
| Returns: | |
| tuple: Un message formaté et un DataFrame prêt à être affiché. | |
| """ | |
| best_crop_fr = translate_crop(best_crop["item"]) | |
| message = ( | |
| f"La culture recommandée est : {best_crop_fr} " | |
| f"avec un rendement estimé à {best_crop['predicted_yield']:.0f} hg/ha." | |
| ) | |
| display_df = recommendations_df.copy() | |
| display_df["culture"] = display_df["item"].apply(translate_crop) | |
| display_df["rendement_estimé"] = display_df["predicted_yield"].round(0).astype(int) | |
| display_df = display_df[ | |
| ["rank", "culture", "rendement_estimé"] | |
| ].rename(columns={ | |
| "rank": "rang" | |
| }) | |
| return message, display_df |