Pandas Python - Exercices interactifs et explications en français
Pandas est la bibliothèque n°1 pour l'analyse de données en Python. Elle permet de charger, nettoyer, transformer et agréger des tableaux comme en SQL, mais avec la puissance d'un langage complet derrière.
Essai gratuit · Aucune carte bancaire requise
Pourquoi apprendre Pandas ?
Si tu travailles avec de la donnée en Python, tu utiliseras Pandas. C'est la bibliothèque qui te permet de manipuler des tableaux (lignes × colonnes) avec la même aisance qu'un fichier Excel, mais en beaucoup plus rapide et reproductible.
Un data analyst passe souvent 70 % de son temps à nettoyer et préparer la donnée. Pandas couvre exactement cette phase : lire un CSV, gérer les valeurs manquantes, fusionner plusieurs tables, calculer des agrégats, exporter. Maîtriser Pandas, c'est maîtriser le cœur du métier.
En entretien technique (data analyst, data engineer, data scientist), les questions Pandas sont incontournables. Souvent, on te demande l'équivalent Pandas d'une requête SQL, ou de résoudre un problème concret sur un petit DataFrame.
Les concepts clés de Pandas
Series et DataFrame : les deux structures de base
Une Series est une colonne étiquetée (index + valeurs). Un DataFrame est un tableau 2D (plusieurs Series côte à côte).
import pandas as pd
# Series : une colonne de ventes indexée par mois
ventes = pd.Series([100, 150, 120], index=['Jan', 'Fév', 'Mar'])
# DataFrame : plusieurs colonnes
df = pd.DataFrame({
'produit': ['A', 'B', 'C'],
'prix': [10, 20, 15],
'stock': [100, 50, 80]
})Filtrer avec des masques booléens
L'équivalent Pandas d'un WHERESQL. On construit une condition qui renvoie True/False, puis on l'applique au DataFrame. Pour combiner plusieurs conditions, on utilise & (et), | (ou) - pas and ou or.
# Gros acheteurs du mois
gros = df[df['montant'] > 100]
# Seniors Data : département Data ET salaire > 3500
seniors = df[(df['dept'] == 'Data') & (df['salaire'] > 3500)]
# Zone DACH+Benelux : plusieurs pays d'un coup
zone = df[df['pays'].isin(['FR', 'BE', 'CH'])]GroupBy : regrouper et agréger
C'est l'opération la plus utilisée en analyse. Équivalent du GROUP BY SQL : on découpe en groupes, on applique un calcul par groupe, on récupère le résultat.
# CA total par région
ca_region = df.groupby('region')['montant'].sum()
# Plusieurs calculs en un appel avec des noms personnalisés
rapport = df.groupby('region').agg(
total_ca=('montant', 'sum'),
commande_moy=('montant', 'mean'),
nb_commandes=('montant', 'count')
)Merge : fusionner deux DataFrames
L'équivalent d'un JOIN SQL. Le choix entre inner (garde ce qui matche des deux côtés) et left (garde tout le tableau de gauche) est crucial.
# Joindre commandes + catalogue produit
fusion = commandes.merge(catalogue, on='produit_id')
# Left join : garder tous les clients, même sans commande
clients_avec_commandes = clients.merge(
commandes, on='client_id', how='left'
)Nettoyage des données
Le nerf de la guerre : gérer les valeurs manquantes, les doublons, les types incohérents. Pandas a tout ce qu'il faut.
# Compter les valeurs manquantes par colonne
df.isna().sum()
# Remplacer les NaN par la moyenne
df['age'] = df['age'].fillna(df['age'].mean())
# Supprimer les doublons selon l'email
df = df.drop_duplicates(subset='email')
# Convertir du texte en date
df['date'] = pd.to_datetime(df['date'])Pivot : tableau croisé dynamique
Le tableau croisé familier d'Excel, mais en code reproductible. Idéal pour passer d'un format long (une ligne par observation) à un format large (lisible en un coup d'œil).
# Ventes : régions en lignes, mois en colonnes, somme dans les cases
croise = df.pivot_table(
index='region',
columns='mois',
values='vente',
aggfunc='sum'
)Dans quels cas concrets on l'utilise ?
📊 Reporting automatisé
Charger chaque matin le CSV des ventes, filtrer la bonne période, regrouper par région et exporter un fichier Excel propre - une dizaine de lignes Pandas suffisent.
🧼 Nettoyage avant modèle ML
Avant d'entraîner un modèle, la donnée doit être propre : NaN traités, doublons supprimés, types corrects. Pandas est l'outil standard pour cette étape.
🔄 Pipeline ETL léger
Extraire d'une API ou d'une base, transformer (filtres, jointures, agrégations), charger vers une autre destination. Parfait pour des volumes jusqu'à quelques GB.
🧪 Exploration (EDA)
Découvrir un nouveau dataset : stats descriptives, distributions, corrélations, détection d'outliers. Le premier contact avec toute nouvelle donnée passe par Pandas.
Passe à la pratique
On a plus de 82 exercices interactifs Pandas, répartis en 3 modules (fondamentaux, transformations, nettoyage). Chaque exercice tourne dans ton navigateur, sans rien installer.
Créer mon compte gratuit