Analyseur de Données.

SAE 1.05 / Python & Pandas / Data Processing

Chargement & Nettoyage PARTIE A

Initialisation du DataFrame et formatage des colonnes temporelles. (Cliquer pour dérouler)


import pandas as pd

def charger_donnees(chemin_fichier):
    # Chargement du fichier CSV exporté de l'emploi du temps
    df = pd.read_csv(chemin_fichier, sep=';', encoding='utf-8')
    
    # Conversion des colonnes en objets Datetime pour les calculs
    df['Debut'] = pd.to_datetime(df['Debut'])
    df['Fin'] = pd.to_datetime(df['Fin'])
    
    # Calcul de la durée de chaque cours
    df['Duree'] = df['Fin'] - df['Debut']
    
    return df.dropna(subset=['Module'])
Analyse : La conversion en datetime est cruciale pour permettre à Python de comprendre qu'il s'agit d'heures et non de simples chaînes de caractères.

Filtrage par Groupe PARTIE B

Extraction des données spécifiques à un groupe d'étudiants. (Cliquer pour dérouler)


def filtrer_par_groupe(df, nom_groupe):
    """ Retourne uniquement les lignes contenant le groupe spécifié. """
    mask = df['Groupes'].str.contains(nom_groupe, na=False)
    df_filtre = df[mask]
    
    # Calcul du total d'heures pour ce groupe
    total_heures = df_filtre['Duree'].sum()
    print(f"Total pour {nom_groupe} : {total_heures}")
    
    return df_filtre
Logique : L'utilisation de str.contains permet de capturer un groupe même s'il est listé avec d'autres (ex: "TDA, TDB").