"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment remplacer des valeurs spécifiques dans une colonne Pandas DataFrame en fonction de conditions ?

Comment remplacer des valeurs spécifiques dans une colonne Pandas DataFrame en fonction de conditions ?

Publié le 2024-11-06
Parcourir:942

How to Replace Specific Values in a Pandas DataFrame Column Based on Conditions?

Pandas DataFrame : remplacement de valeur ciblée 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 la valeur.

Considérez le DataFrame suivant, dans lequel nous souhaitons remplacer les valeurs dans la « Première saison ». colonne qui dépasse 1990 avec 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 'First Season' 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 » satisfaisant à la condition sont remplacées 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 se traduisent respectivement par 1 et 0. :

df['First Season'] = (df['First Season'] > 1990).astype(int)

Cette approche génère 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
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3