Maison >développement back-end >Tutoriel Python >Comment supprimer des lignes d'un DataFrame Pandas en fonction d'une condition ?

Comment supprimer des lignes d'un DataFrame Pandas en fonction d'une condition ?

DDD
DDDoriginal
2024-11-12 08:50:02241parcourir

How to Remove Rows from a Pandas DataFrame Based on a Condition?

Suppression conditionnelle de lignes dans les DataFrames Pandas

La question initiale cherchait à supprimer des lignes d'un DataFrame en fonction de la longueur de chaîne d'une colonne spécifique . Bien que la solution proposée soit incorrecte, cet article vise à fournir une compréhension complète de la suppression conditionnelle de lignes dans Pandas.

Utilisation de la méthode drop

Pour répondre directement à la question du titre , la méthode drop offre une approche simple pour éliminer des lignes en fonction d'une expression conditionnelle. La syntaxe est la suivante :

df = df.drop(some labels)
df = df.drop(df[<some boolean condition>].index)

Exemple

Pour supprimer toutes les lignes où la valeur de la colonne de score est inférieure à 50 :

df = df.drop(df[df.score < 50].index)

Pour une modification sur place, vous pouvez utiliser :

df.drop(df[df.score < 50].index, inplace=True)

Multiple Conditions

Pandas prend en charge l'utilisation d'opérateurs logiques (| pour OR, & pour AND, ~ pour NOT) pour créer des conditions complexes. N'oubliez pas de les mettre entre parenthèses.

Pour supprimer toutes les lignes dont le score est à la fois inférieur à 50 et supérieur à 20 :

df = df.drop(df[(df.score < 50) & (df.score > 20)].index)

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