learn.chetana.fr

pandas : le SQL en mémoire

14 min de lectureEssentiel

Tu écris déjà du pandas sans le savoir

Un DataFrame = une table. Chaque concept SQL a son jumeau :

SQLpandas
SELECT col1, col2df[['col1', 'col2']]
WHERE montant > 100df[df.montant > 100]
GROUP BY client + SUMdf.groupby('client').montant.sum()
JOINdf.merge(autre, on='client_id')
ORDER BY date DESCdf.sort_values('date', ascending=False)
CASE WHENnp.where(cond, a, b)

En ML, pandas sert à préparer les features : nettoyer, joindre, agréger — 60 % du temps réel d'un projet.

Les pièges qui font mal en vrai

  1. Tout tient en RAM… jusqu'au jour où non. Un CSV de 2 Go peut occuper 10 Go en DataFrame (objets Python pour les strings). Parades : dtype= explicites, category pour les colonnes répétitives, lire en morceaux (chunksize), ou passer à polars (successeur multithread et paresseux, adopté massivement) ;
  2. Les boucles sur les lignes : df.iterrows() est l'anti-pattern absolu — tout ce que tu as appris sur la vectorisation s'applique ;
  3. SettingWithCopyWarning : modifier une vue filtrée sans effet sur l'original. Réflexe : .loc[cond, 'col'] = valeur en une seule expression.
🐍 À toi de jouer
🧩 Quiz1/4

L'équivalent pandas de GROUP BY client + SUM(montant) est…

🃏 Flashcards1/5