Filtrer selon des conditions logiques sur les lignes
Dans le cadre de l’analyse de données, il est souvent nécessaire de ne conserver qu’un sous-ensemble des lignes d’un tableau selon des critères précis. Ce processus, appelé filtrage conditionnel, permet d’appliquer des conditions logiques sur les colonnes d’un tableau de données pour isoler uniquement les lignes qui répondent à ces conditions. Cela facilite l’exploration, la visualisation ou l’analyse ciblée de données pertinentes en fonction de valeurs spécifiques, de seuils ou de combinaisons logiques (comme « supérieur à », « égal à », ou « compris entre »).
Fonctions :
-
Filtrage logique avec loc[]
La méthode loc[] permet de filtrer les lignes d'un DataFrame en fonction d'une condition logique appliquée à une colonne spécifique. Cela est particulièrement utile pour extraire des sous-ensembles de données qui respectent un critère donné, comme des valeurs supérieures ou inférieures à un certain seuil.
Importation :
import pandas as pd
Attributs :
Paramètre Description row_label
L'étiquette de la ligne à sélectionner. Peut être une valeur unique, un intervalle, ou une liste d'étiquettes. column_label
L'étiquette de la ou des colonnes à sélectionner. Peut être une valeur unique ou une liste d'étiquettes. Exemple de code :
import pandas as pd # Exemple de DataFrame data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David'], 'âge': [24, 30, 35, 40], 'score': [88, 92, 75, 85], 'ville': ['Paris', 'Lyon', 'Marseille', 'Paris'] } df = pd.DataFrame(data) # Filtrer les lignes où la colonne 'âge' est supérieure à 30 resultat_1 = df.loc[df['âge'] > 30] print("Lignes où l'âge est supérieur à 30 :") print(resultat_1) # Filtrer les lignes où la colonne 'score' est inférieure à 85 resultat_2 = df.loc[df['score'] < 85] print("\nLignes où le score est inférieur à 85 :") print(resultat_2)
Explication du code :
- DataFrame : Un DataFrame est créé avec des informations fictives (nom, âge, score, ville).
- Filtrage avec
loc[]
:- La première opération filtre les lignes où la colonne
'âge'
est supérieure à 30, en utilisant la conditiondf['âge'] > 30
. - La deuxième opération filtre les lignes où la colonne
'score'
est inférieure à 85, avec la conditiondf['score'] < 85
.
- La première opération filtre les lignes où la colonne
- Résultat : Le DataFrame retourné contient les sous-ensembles de données qui satisfont les conditions respectives.
Remarque :
- Conditions multiples : Il est possible de combiner plusieurs conditions logiques dans
loc[]
en utilisant les opérateurs&
(ET),|
(OU) et~
(NON). - Attention aux parenthèses : Lorsque vous combinez des conditions, assurez-vous d'utiliser des parenthèses pour éviter des erreurs de priorité.