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 pourcentagepandas 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.
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