Maison > développement back-end > Tutoriel Python > Comment le chaînage des opérateurs de Pandas peut-il améliorer l'efficacité du filtrage des lignes ?

Comment le chaînage des opérateurs de Pandas peut-il améliorer l'efficacité du filtrage des lignes ?

Susan Sarandon
Libérer: 2024-11-03 13:51:31
original
203 Les gens l'ont consulté

How Can Pandas' Operator Chaining Enhance Row Filtering Efficiency?

Pandas : filtrage efficace des lignes à l'aide du chaînage d'opérateurs

L'un des principaux avantages de pandas réside dans ses capacités de chaînage d'opérateurs, qui permettent une exécution transparente de plusieurs opérations. Cependant, la méthode traditionnelle de filtrage des lignes, c'est-à-dire l'utilisation de l'indexation par parenthèses (par exemple, df[df['column'] == value]), nécessite l'affectation du DataFrame à une variable. Cela peut être gênant et conduire à une redondance du code.

Heureusement, il existe un moyen plus efficace d'enchaîner les opérations de filtrage à l'aide de l'index booléen. En utilisant des opérateurs logiques (&, |, ^), plusieurs critères peuvent être enchaînés pour obtenir un filtrage sélectif des lignes.

df_filtered = df[(df.A == 1) & (df.D == 6)]
Copier après la connexion

Dans cet exemple, les lignes pour lesquelles la valeur de la colonne « A » est égale à 1 et la la valeur de la colonne « D » égale à 6 est extraite.

Pour les utilisateurs qui préfèrent le chaînage de méthodes, il est possible d'implémenter une méthode de masque personnalisée qui facilite le filtrage des lignes. En définissant la méthode et en l'attribuant à la classe DataFrame, les opérations de filtrage peuvent être enchaînées de manière transparente après tout appel de méthode.

def mask(df, key, value):
    return df[df[key] == value]

pandas.DataFrame.mask = mask

df.mask('A', 1).mask('D', 6)
Copier après la connexion

Cette méthode de masque personnalisée permet des opérations de filtrage concises et enchaînées, offrant une efficacité et une lisibilité du code améliorées. .

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal