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
Libérer: 2024-12-18 05:38:10
original
612 Les gens l'ont consulté

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)]
Copier après la connexion

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)]
Copier après la connexion

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
Copier après la connexion

Ce qui serait interprété comme :

(a['x'] == 1) & (a['y'] == 10)
Copier après la connexion

Au lieu de cela, l'expression correcte est :

(a['x']==1) & (a['y']==10)
Copier après la connexion

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!

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