hack
Étincelle
0 XP / 250
M7 · Python expressleçon 4/5 · 9 min

Fonctions et imports (+ pandas en 10 lignes)

Emballer la logique dans des fonctions réutilisables, et découvrir pandas — l'Excel des builders.

🧠 Concept — Une fonction = une recette nommée

Une fonction, c'est un bout de logique emballé avec un nom, des entrées (paramètres) et une sortie (return). Pourquoi c'est important pour toi :

  • Quand tu lis un script, les noms de fonctions te donnent le sommaire : taux_occupation(...), filtrer_sessions_courtes(...) — tu comprends l'intention sans lire le détail.
  • Quand tu briefes Claude Code, demander « mets ça dans une fonction réutilisable » rend le code 10 fois plus propre.

Un import, c'est aller chercher une boîte à outils écrite par d'autres : import pandas charge LA bibliothèque d'analyse de données. Personne ne réinvente la lecture de CSV.

Une fonction métier : le taux d'occupation

def taux_occupation(sessions, bornes, heures_ouvertes=24):
    """Part du temps où les bornes sont occupées (0 à 1)."""
    minutes_chargees = 0
    for s in sessions:
        minutes_chargees += s["duree_min"]
    minutes_dispo = bornes * heures_ouvertes * 60
    return minutes_chargees / minutes_dispo

# On l'appelle avec les données de Lyon-Confluence (8 bornes)
sessions_lyon = [
    {"kwh": 42.5, "duree_min": 31},
    {"kwh": 38.0, "duree_min": 27},
    {"kwh": 61.0, "duree_min": 38},
]
taux = taux_occupation(sessions_lyon, bornes=8)
print(f"Taux d'occupation : {taux:.1%}")  # affichage en pourcentage

pandas en 10 lignes : lire le CSV, moyenne par station

import pandas as pd

# Le dataset fictif de la page Playground (/academy/sessions_charge.csv)
df = pd.read_csv("sessions_charge.csv")

print(df.head())        # aperçu des 5 premières lignes
print(len(df))          # nombre total de sessions

# Moyenne de kWh par station, triée décroissante — en UNE ligne
moyennes = df.groupby("station")["kwh"].mean().sort_values(ascending=False)
print(moyennes)

💡 Réflexe pro — pandas, c'est Excel en script

Retiens juste les équivalences : read_csv = ouvrir le fichier, df (DataFrame) = la feuille de calcul, groupby = tableau croisé dynamique, sort_values = trier. Quand un builder dit « je groupe par station », visualise un TCD — c'est exactement ça.

🛠️ À toi de jouer — 🛠️ Ton premier vrai calcul métier

Télécharge sessions_charge.csv depuis la page Playground, puis lance le prompt ci-dessous dans Claude (joins le fichier, ou demande-lui de générer des données équivalentes s'il ne peut pas le lire). Objectif : obtenir un script qui tourne ET que tu comprends.

Ton point de départ
Voici un CSV de sessions de charge Electra (colonnes : station, date, kwh, duree_min). Écris un script Python avec pandas qui : 1) lit le fichier ; 2) calcule le kWh moyen ET la durée moyenne par station ; 3) définit une fonction stations_sous_performantes(df, seuil_kwh) qui retourne les stations dont la moyenne de kWh est sous le seuil ; 4) l'appelle avec un seuil de 30 kWh. Exécute-le, montre la sortie, puis explique la fonction ligne à ligne.

Checklist de validation