github-actions
Deploy API from GitHub Actions
42dfbed
Raw
History Blame Contribute Delete
2.04 kB
"""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