Filtrer ses données avec Python

Sélection de lignes ou colonnes

python
filtre
Author

Clément Rieux

Published

January 1, 2023

Comment filtrer ses données en python ?

Le but de ce tutoriel est de comprendre rapidement comment filtrer des données avec Python.

Données

import pandas as pd

noms = ['Jean', 'Lucie', 'Pierre', 'Marie', 'Antoine', 'Sophie']
ages = [25, 30, 20, 40, 35, 28]
villes = ['Paris', 'Lyon', 'Marseille', 'Toulouse', 'Bordeaux', 'Nantes']
df = pd.DataFrame({'Nom': noms, 'Age': ages, 'Ville': villes})

print(df)
       Nom  Age      Ville
0     Jean   25      Paris
1    Lucie   30       Lyon
2   Pierre   20  Marseille
3    Marie   40   Toulouse
4  Antoine   35   Bordeaux
5   Sophie   28     Nantes

Filtres

Filtrer les lignes pour les personnes âgées de moins de 30 ans :

df_30 = df[df['Age'] < 30]
print(df_30)
      Nom  Age      Ville
0    Jean   25      Paris
2  Pierre   20  Marseille
5  Sophie   28     Nantes

Sélection des lignes pour les personnes de moins de 30 ans habitant à Nantes ou Paris :

df_filtre = df[(df['Age'] < 30) & ((df['Ville'] == 'Nantes') | (df['Ville'] == 'Paris'))]

print(df_filtre)
      Nom  Age   Ville
0    Jean   25   Paris
5  Sophie   28  Nantes

Filtrer les colonnes pour les noms et les villes uniquement :

df_name_city = df[['Nom', 'Ville']]
print(df_name_city)
       Nom      Ville
0     Jean      Paris
1    Lucie       Lyon
2   Pierre  Marseille
3    Marie   Toulouse
4  Antoine   Bordeaux
5   Sophie     Nantes

Récupération du nom et de l’âge des personnes de moins de 30 ans qui habitent à Nantes ou Paris :

filtre = (df['Age'] < 30) & ((df['Ville'] == 'Nantes') | (df['Ville'] == 'Paris'))
df_filtre = df.loc[filtre, ['Nom', 'Age']]

print(df_filtre)
      Nom  Age
0    Jean   25
5  Sophie   28