Maison >développement back-end >Tutoriel Python >Comment utiliser correctement les opérateurs logiques pour l'indexation booléenne dans Pandas ?

Comment utiliser correctement les opérateurs logiques pour l'indexation booléenne dans Pandas ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 05:38:10613parcourir

How to Correctly Use Logical Operators for Boolean Indexing in Pandas?

Opérateurs logiques pour l'indexation booléenne dans Pandas

Lorsque vous travaillez avec l'indexation booléenne dans Pandas, on peut rencontrer une erreur en essayant d'utiliser le et opérateur directement avec les comparaisons de séries, comme le montre l'exemple suivant :

a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]

Cela entraînera un ValueError car Python ne peut pas attribuer de valeur booléenne à un tableau comportant plusieurs éléments. Au lieu de cela, nous devons utiliser l'opérateur & pour les opérations logiques et par éléments :

a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]

Cette distinction se produit parce que l'opérateur and effectue une évaluation booléenne, tandis que l'opérateur & effectue des opérations logiques par éléments. Lors de l'évaluation des comparaisons de séries avec et, Python est incapable de déterminer comment gérer l'ambiguïté liée à l'attribution d'une valeur booléenne à une collection d'éléments.

Pour garantir des opérations logiques correctes au niveau des éléments, les parenthèses sont cruciales dans les expressions impliquant le & opérateur. Négliger les parenthèses peut conduire à un ordre d'évaluation involontaire, tel que :

a['x']==1 & a['y']==10

Ce qui serait interprété comme :

(a['x'] == 1) & (a['y'] == 10)

Au lieu de cela, l'expression correcte est :

(a['x']==1) & (a['y']==10)

En comprenant la distinction entre l'évaluation booléenne et les opérations logiques par éléments, vous pouvez utiliser efficacement les opérateurs logiques pour l'indexation booléenne dans Pandas.

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