Maison  >  Article  >  développement back-end  >  Comment supprimer des lignes d'un DataFrame Pandas en fonction de la longueur de la chaîne et de plusieurs conditions ?

Comment supprimer des lignes d'un DataFrame Pandas en fonction de la longueur de la chaîne et de plusieurs conditions ?

DDD
DDDoriginal
2024-11-10 10:25:02289parcourir

How to Delete Rows from a Pandas DataFrame Based on String Length and Multiple Conditions?

Suppression conditionnelle de lignes dans les DataFrames Pandas

En essayant de supprimer des lignes d'un DataFrame où une colonne spécifique dépasse une longueur de chaîne donnée, vous avez rencontré une erreur liée à "KeyError : vous n'avez aucun élément nommé False'". Pour résoudre ce problème, explorons une approche alternative à la suppression conditionnelle de lignes.

Au lieu d'utiliser l'expression "len(df['column name']) < 2", vous pouvez directement exploiter la méthode drop, qui vous permet de supprimer des lignes en fonction d'une condition spécifiée. La méthode drop prend deux arguments :

  1. labels: Liste des labels ou indices à supprimer
  2. axis=0: Indique que les lignes sont en train d'être supprimé

Exemple :

Pour supprimer toutes les lignes où la longueur de la chaîne dans la colonne « nom » est supérieure à 2 :

df = df.drop(df[df['name'].str.len() > 2].index)</p>
<p><strong>Opération sur place :</strong></p>
<p>Vous pouvez également effectuer l'opération de suppression sur place en définissant le paramètre inplace sur True :</p>
<pre class="brush:php;toolbar:false">df.drop(df[df['name'].str.len() > 2].index, inplace=True)

Conditions multiples :

Pour appliquer plusieurs conditions de suppression de ligne, utilisez les opérateurs logiques | (ou) et & (et) entre parenthèses :

df = df.drop(df[(df['age'] < 18) & (df['gender'] == 'male')].index)

Cela supprimera toutes les lignes où l'âge est inférieur à 18 ans et le sexe est « masculin ».

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