Maison  >  Article  >  développement back-end  >  Comment obtenir un filtrage de lignes efficace dans Pandas à l'aide du chaînage d'opérateurs ?

Comment obtenir un filtrage de lignes efficace dans Pandas à l'aide du chaînage d'opérateurs ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-04 05:59:29692parcourir

How to Achieve Efficient Row Filtering in Pandas Using Operator Chaining?

Chaînage d'opérateurs pour le filtrage de lignes dans Pandas

Le filtrage des lignes d'un DataFrame dans Pandas peut être une tâche fastidieuse en utilisant l'indexation par parenthèses standard (par exemple, df[df['column'] == value]), notamment lorsque l'on souhaite une approche de chaînage d'opérateurs. Cet article fournit une solution pour permettre un filtrage transparent des lignes à l'aide du chaînage d'opérateurs.

Pandas permet de « chaîner » des filtres en utilisant l'indexation booléenne. En joignant des critères à l'aide de l'opérateur logique &, plusieurs conditions peuvent être appliquées pour filtrer les lignes. Par exemple, l'extrait de code suivant filtre les lignes où A est égal à 1 et D est égal à 6 :

<code class="python">df[(df.A == 1) & (df.D == 6)]</code>

Pour ceux qui recherchent une solution de chaînage de méthodes, une méthode de masque personnalisée peut être définie et ajoutée à la classe DataFrame. Cette méthode peut ensuite être utilisée pour le filtrage des lignes. Le code suivant illustre cette approche :

<code class="python">def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

df.mask('A', 1)
df.mask('A', 1).mask('D', 6)</code>

En incorporant le chaînage d'opérateurs, le filtrage des lignes dans les pandas devient plus efficace et expressif. Cela permet d'obtenir un code concis et lisible lors de l'exécution d'opérations de filtrage complexes.

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