Pandas : sélectionnez les lignes où la valeur apparaît dans n’importe quelle colonne
Souvent, vous souhaiterez peut-être sélectionner les lignes d’un DataFrame pandas dans lesquelles une certaine valeur apparaît dans l’une des colonnes.
Heureusement, cela est facile à faire en utilisant la fonction .any pandas. Ce tutoriel explique plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : Rechercher une valeur dans n’importe quelle colonne
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame print(df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6
La syntaxe suivante montre comment sélectionner toutes les lignes du DataFrame qui contiennent la valeur 25 dans l’une des colonnes :
df[df.isin([25]).any(axis=1)] points assists rebounds 0 25 5 11
La syntaxe suivante montre comment sélectionner toutes les lignes du DataFrame qui contiennent les valeurs 25, 9 ou 6 dans l’une des colonnes :
df[df.isin([25, 9, 6]).any(axis=1)] points assists rebounds 0 25 5 11 3 14 9 6 4 19 12 6
Exemple 2 : Rechercher un caractère dans n’importe quelle colonne
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'position': ['G', 'G', 'F', 'F', 'C']}) #view DataFrame print(df) points assists position 0 25 5 G 1 12 7 G 2 15 7 F 3 14 9 F 4 19 12 C
La syntaxe suivante montre comment sélectionner toutes les lignes du DataFrame qui contiennent le caractère G dans l’une des colonnes :
df[df.isin(['G']).any(axis=1)] points assists position 0 25 5 G 1 12 7 G
La syntaxe suivante montre comment sélectionner toutes les lignes du DataFrame qui contiennent les valeurs G ou C dans l’une des colonnes :
df[df.isin(['G', 'C']).any(axis=1)] points assists position 0 25 5 G 1 12 7 G 4 19 12 C
Ressources additionnelles
Comment filtrer un DataFrame Pandas sur plusieurs conditions
Comment trouver des valeurs uniques dans plusieurs colonnes dans Pandas
Comment obtenir des numéros de ligne dans un DataFrame Pandas