Maison >développement back-end >Tutoriel Python >Comment supprimer des lignes d'un DataFrame Pandas en fonction d'une expression conditionnelle ?
Suppression de lignes du DataFrame Pandas en fonction de l'expression conditionnelle
Votre approche d'utilisation de df[(len(df['column name']) < 2)] pour supprimer les lignes dont la longueur de chaîne dépasse 2 est incorrect. Cela entraîne une KeyError car l'expression est évaluée comme un DataFrame booléen avec les clés True et False, plutôt que des indices de ligne.
Pour supprimer des lignes en fonction d'une expression conditionnelle, vous pouvez utiliser la méthode drop. Voici comment cela fonctionne :
Utiliser drop() pour supprimer des lignes
df = df.drop(df[df['column name'].str.len() > 2].index)</p> <p>Dans cet exemple, df['column name'].str.len() > 2 crée un DataFrame booléen indiquant les lignes dont la longueur de chaîne est supérieure à 2. L'attribut index de ce DataFrame récupère les indices de ces lignes, qui sont ensuite transmis à drop().</p> <p><strong>Syntaxe alternative</strong> </p> <pre class="brush:php;toolbar:false">df = df.drop(df[(df['column name'].str.len() > 2)].index)
Cette syntaxe fournit une séparation plus claire entre le DataFrame booléen et l'index extraction.
Conditions multiples
L'indexation booléenne vous permet de combiner des conditions à l'aide d'opérateurs logiques. Par exemple, pour supprimer les lignes dont la longueur de la chaîne dépasse 2 et le score est inférieur à 50 :
df = df.drop(df[(df['column name'].str.len() > 2) & (df['score'] < 50)].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!