Maison  >  Article  >  développement back-end  >  Comment remplacer sélectivement les valeurs de colonne dans un DataFrame Pandas en fonction des conditions ?

Comment remplacer sélectivement les valeurs de colonne dans un DataFrame Pandas en fonction des conditions ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 02:20:02740parcourir

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

Pandas DataFrame : remplacement des valeurs de colonne en fonction des conditions

Dans cette question, l'objectif est de remplacer sélectivement les valeurs dans la colonne d'un DataFrame en fonction de une condition. Étant donné un DataFrame contenant des équipes de football et leur première saison, nous souhaitons remplacer toutes les valeurs de la colonne 'Première saison' qui dépassent 1990 par 1.

La solution fournie, df.loc[(df['First Season '] > 1990)] = 1, remplace incorrectement toutes les valeurs des lignes sélectionnées, pas seulement la colonne cible. Pour résoudre ce problème, nous devons spécifier la colonne à modifier.

La syntaxe correcte pour cette modification est :

df.loc[df['First Season'] > 1990, 'First Season'] = 1

Voici comment cela fonctionne :

  • df.loc[(df['First Season'] > 1990)] : ceci sélectionne les lignes où la valeur de "First Season" est supérieure à 1990, générant ainsi les étiquettes à indexer dans le DataFrame.
  • 'Première saison' : ceci spécifie éventuellement la colonne dans laquelle le remplacement doit avoir lieu.

Après l'exécution de cette ligne de code, seules les valeurs de 'Première saison' qui remplissent la condition spécifiée seront remplacées par 1, en préservant le reste du DataFrame.

Considérations supplémentaires :

Si le résultat souhaité est un indicateur booléen, au lieu de remplacer les valeurs par 1, nous pouvons utiliser le condition booléenne pour générer une série booléenne et la convertir en type de données entier :

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

Cela convertira les valeurs vraies en 1 et les valeurs fausses en 0, créant un indicateur booléen dans la colonne « Première saison ».

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn