data_analysis module

Module d’analyse des données pour le projet MangesTaMain. Basé sur l’analyse exploratoire du notebook lab-recipe-corr-student.ipynb

class data_analysis.RecipeDataAnalyzer(csv_path: str)[source]

Bases : object

Analyse les jeux de données de recettes extraits de Kaggle.

Variables:
  • csv_path (str) – Chemin du fichier CSV des recettes.

  • recipe_data (pd.DataFrame | None) – Données brutes chargées depuis csv_path.

  • cleaned_data (pd.DataFrame | None) – Données filtrées après traitement des outliers.

__init__(csv_path: str) None[source]

Initialise l’analyseur avec le chemin vers le fichier CSV.

Paramètres:

csv_path (str) – Chemin vers le fichier CSV contenant les recettes.

analyze_contributors() dict[str, any][source]

Analyse les contributeurs de recettes.

Renvoie:

Statistiques sur la contribution (nombre, top contributeur, moyenne).

Type renvoyé:

dict[str, any]

Lève:

ValueError – Si aucune donnée (brute ou nettoyée) n’est disponible.

analyze_ingredients() dict[str, any][source]

Analyse les ingrédients des recettes.

Renvoie:

Statistiques sur la diversité et la fréquence des ingrédients.

Type renvoyé:

dict[str, any]

analyze_minutes() dict[str, any][source]

Analyse la variable “minutes” (temps de préparation).

Renvoie:

Statistiques descriptives sur la durée de préparation.

Type renvoyé:

dict[str, any]

Lève:

ValueError – Si les données n’ont pas encore été chargées.

analyze_nutrition() dict[str, any][source]

Analyse les données nutritionnelles.

Renvoie:

Statistiques descriptives par composant nutritionnel.

Type renvoyé:

dict[str, any]

analyze_steps_and_ingredients_count() dict[str, any][source]

Analyse le nombre d’étapes et d’ingrédients.

Renvoie:

Statistiques sur n_steps et n_ingredients (moyenne, médiane, max, mode).

Type renvoyé:

dict[str, any]

Lève:

ValueError – Si aucune donnée n’est disponible.

analyze_tags() dict[str, any][source]

Analyse les tags des recettes.

Renvoie:

Statistiques sur la fréquence et la variété des tags.

Type renvoyé:

dict[str, any]

get_basic_info() dict[str, any][source]

Retourne des informations de base sur le dataset.

Renvoie:

Informations clés (nombre de recettes, colonnes, valeurs manquantes).

Type renvoyé:

dict[str, any]

Lève:

ValueError – Si les données n’ont pas encore été chargées.

get_complete_analysis() dict[str, any][source]

Effectue une analyse complète du dataset.

Renvoie:

Dictionnaire regroupant toutes les analyses calculées.

Type renvoyé:

dict[str, any]

load_data() DataFrame[source]

Charge les données depuis le fichier CSV.

Renvoie:

Jeu de données brut chargé depuis csv_path.

Type renvoyé:

pd.DataFrame

parse_list_column(column_name: str) list[str][source]

Parse une colonne contenant des listes sous forme de strings.

Paramètres:

column_name (str) – Nom de la colonne à interpréter comme liste.

Renvoie:

Ensemble aplati de tous les éléments présents dans la colonne.

Type renvoyé:

list[str]

Lève:

ValueError – Si aucune donnée n’est disponible ou si la colonne est absente.

process_nutrition_scores() DataFrame[source]

Traite les scores nutritionnels en colonnes séparées.

Renvoie:

DataFrame enrichi avec les colonnes nutritionnelles explicites.

Type renvoyé:

pd.DataFrame

Lève:

ValueError – Si aucune donnée n’est disponible.

remove_outliers_minutes(max_minutes: int | None = None) DataFrame[source]

Supprime les outliers de la variable minutes.

Paramètres:

max_minutes (int | None) – Temps maximal en minutes à conserver ; None applique la limite d’un mois.

Renvoie:

DataFrame nettoyé sans recettes extrêmes sur minutes.

Type renvoyé:

pd.DataFrame

Lève:

ValueError – Si aucune donnée n’est disponible.

data_analysis.main()[source]

Exécute un scénario de démonstration pour l’analyseur.

Renvoie:

None.

Type renvoyé:

None