Maison > développement back-end > Tutoriel Python > Comment remplacer efficacement les valeurs dans les DataFrames Pandas en fonction de seuils conditionnels ?

Comment remplacer efficacement les valeurs dans les DataFrames Pandas en fonction de seuils conditionnels ?

DDD
Libérer: 2024-12-15 07:28:12
original
743 Les gens l'ont consulté

How to Efficiently Replace Values in Pandas DataFrames Based on Conditional Thresholds?

Remplacement conditionnel des valeurs dans Pandas

Lorsque vous travaillez avec des DataFrames dans Pandas, il est souvent nécessaire de modifier sélectivement les valeurs en fonction de certaines conditions. Une tâche courante consiste à remplacer les valeurs d'une colonne spécifique qui dépassent un certain seuil.

Une tentative précédente utilisant le df[df.my_channel > La syntaxe 20000].my_channel = 0 s'est avérée infructueuse lorsqu'elle faisait partie du DataFrame d'origine. Cela est dû aux modifications d'indexation introduites dans Pandas 0.20.0, qui ont rendu obsolète l'indexeur .ix.

Pour remédier à cela, nous pouvons utiliser l'indexeur .loc, qui offre une méthode alternative pour accéder et modifier les lignes et les colonnes. en fonction des conditions.

mask = df.my_channel > 20000
column_name = 'my_channel'
df.loc[mask, column_name] = 0
Copier après la connexion

Ce code obtient le résultat souhaité en créant d'abord un masque booléen (masque) où chaque valeur correspond à si la valeur correspondante dans la colonne df.my_channel dépasse 20000. Nous utilisons ensuite .loc pour sélectionner les lignes où le masque contient True et attribuons une valeur de 0 à la colonne column_name.

Comme alternative, la suivante Un extrait de code en ligne peut être utilisé :

df.loc[df.my_channel > 20000, 'my_channel'] = 0
Copier après la connexion

Dans ce cas, il est important d'utiliser .loc au lieu de .iloc (indexation basée sur un emplacement entier) pour éviter une NotImplementedError.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal