Maison > Article > développement back-end > Comment remplacer des valeurs spécifiques dans une colonne Pandas DataFrame en fonction de conditions ?
Pandas DataFrame : remplacement de valeur ciblé en fonction des conditions
Dans Pandas, il est souvent nécessaire de modifier des valeurs spécifiques au sein d'un DataFrame en fonction de certains critères . Bien qu'une approche courante consiste à utiliser loc pour sélectionner des lignes, il est crucial de comprendre comment cibler précisément une colonne spécifique pour la modification de valeur.
Considérez le DataFrame suivant, dans lequel nous souhaitons remplacer les valeurs dans la « Première saison ». colonne qui dépasse 1990 par l'entier 1 :
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
Une première tentative utilisant uniquement la fonction loc a abouti au remplacement de toutes les valeurs des lignes sélectionnées plutôt que uniquement de la colonne ciblée. Pour remédier à cela, nous devons spécifier explicitement la colonne « Première saison » comme deuxième argument de loc :
df.loc[df['First Season'] > 1990, 'First Season'] = 1
Cette approche ciblée garantit que seules les valeurs de la colonne « Première saison » satisfont à la condition sont remplacé par 1, laissant les autres colonnes inchangées.
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
Alternativement, si le résultat souhaité est un indicateur booléen, vous pouvez utiliser la condition pour créer une série booléenne et la convertir en nombres entiers, où Vrai et Faux traduire respectivement par 1 et 0 :
df['First Season'] = (df['First Season'] > 1990).astype(int)
Cette approche donne un DataFrame avec des valeurs mises à jour :
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!