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 :
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!