Comment utiliser la fonction Where() dans Pandas (avec exemples)
La fonction Where() peut être utilisée pour remplacer certaines valeurs dans un DataFrame pandas.
Cette fonction utilise la syntaxe de base suivante :
df.where(cond, other=nan)
Pour chaque valeur d’un DataFrame pandas où cond est True, la valeur d’origine est conservée.
Pour chaque valeur où cond est False, la valeur d’origine est remplacée par la valeur spécifiée par l’ autre argument.
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd #define DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Exemple 1 : Remplacer les valeurs dans l’intégralité du DataFrame
Le code suivant montre comment utiliser la fonction Where() pour remplacer toutes les valeurs qui ne remplissent pas une certaine condition dans un DataFrame pandas entier par une valeur NaN.
#keep values that are greater than 7, but replace all others with NaN df.where(df>7) points assists rebounds 0 25 NaN 11.0 1 12 NaN 8.0 2 15 NaN 10.0 3 14 9.0 NaN 4 19 12.0 NaN 5 23 9.0 NaN 6 25 9.0 9.0 7 29 NaN 12.0
Nous pouvons également utiliser l’ autre argument pour remplacer les valeurs par autre chose que NaN.
#keep values that are greater than 7, but replace all others with 'low' df.where(df>7, other='low') points assists rebounds 0 25 low 11 1 12 low 8 2 15 low 10 3 14 9 low 4 19 12 low 5 23 9 low 6 25 9 9 7 29 low 12
Exemple 2 : remplacer les valeurs dans une colonne spécifique de DataFrame
Le code suivant montre comment utiliser la fonction Where() pour remplacer toutes les valeurs qui ne remplissent pas une certaine condition dans une colonne spécifique d’un DataFrame.
#keep values greater than 15 in 'points' column, but replace others with 'low' df['points'] = df['points'].where(df['points']>15, other='low') #view DataFrame df points assists rebounds 0 25 5 11 1 low 7 8 2 low 7 10 3 low 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
Vous pouvez trouver la documentation complète en ligne de la fonction pandaswhere() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans les pandas :
Comment utiliser la fonction décrire() dans Pandas
Comment utiliser la fonction idxmax() dans Pandas
Comment appliquer une fonction aux colonnes sélectionnées dans Pandas