Exercice 34 / 100

Pandas - filtres

Sélectionnez les étudiants avec note > 12

Filtrer un DataFrame = garder uniquement les lignes qui respectent une condition. Le principe est le même qu'un masque booléen NumPy.

Syntaxe

df[condition]

La condition est une expression qui renvoie une Series de booléens (un par ligne). Pandas garde les lignes True.

Filtre simple

bons = df[df['note'] > 12]

Décomposé

df['note'] → la colonne note df['note'] > 12 → Series booléenne [True, False, True...] df[ ... ] → garde les lignes où c'est True
Filtrer un DataFrame reprend le principe du masque NumPy : la condition rend une série de booléens, et pandas ne garde que les lignes vraies

Conditions multiples

& ET (and) | OU (or) ~ NON (not)

Comme NumPy : utilise & | ~ et jamais and/or/not.

Parenthèses obligatoires autour de chaque condition.

# note > 12 ET ville == 'Paris' df[(df['note'] > 12) & (df['ville'] == 'Paris')]
# ville Paris OU Lyon df[df['ville'].isin(['Paris', 'Lyon'])]
# ville PAS Paris df[df['ville'] != 'Paris']

Méthodes utiles pour filtrer

.isin([...])
vrai si la valeur est dans la liste
.between(a, b)
vrai si entre a et b inclus
.str.contains('motif') vrai si la chaîne contient le motif .isna() / .notna() valeurs manquantes / non manquantes

Exemple complet

df = pd.DataFrame({ 'nom': ['Alice','Bob','Charlie'], 'note': [14, 11, 17] }) bons = df[df['note'] > 12] print(bons) # nom note # 0 Alice 14 # 2 Charlie 17

Le résultat est un nouveau DataFrame. L'original df n'est pas modifié.

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →