Maison > développement back-end > Tutoriel Python > Indexation booléenne Pandas : pourquoi utiliser '&' au lieu de 'et' ?

Indexation booléenne Pandas : pourquoi utiliser '&' au lieu de 'et' ?

Linda Hamilton
Libérer: 2024-12-13 03:45:10
original
207 Les gens l'ont consulté

Pandas Boolean Indexing: Why Use

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

Lorsque vous travaillez avec l'indexation booléenne dans Pandas, il est important de comprendre la différence entre les opérateurs logiques " &" et "et".

Question :Pourquoi ce qui suit l'instruction fonctionne sans erreur :

a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]
Copier après la connexion

mais l'instruction suivante se termine avec une erreur :

a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]
Copier après la connexion

Réponse :

Le "et" L'opérateur en Python convertit implicitement ses opérandes en valeurs booléennes. Cependant, lorsqu'il s'agit de tableaux NumPy (et de Pandas Series, qui sont basés sur des tableaux NumPy), cette conversion peut conduire à des ambiguïtés.

Lors de l'évaluation de la valeur de vérité d'un tableau contenant plusieurs éléments, il n'est pas clair s'il doit être considéré comme vrai si :

  • Tous ses éléments sont vrais
  • Tous ses éléments sont True
  • Il a une longueur non nulle

Pour éviter cette ambiguïté, NumPy et Pandas nécessitent une évaluation booléenne explicite en utilisant "any()", "all()" ou Méthodes "empty()".

Dans le cas de l'indexation booléenne, nous ne voulons pas d'évaluation booléenne mais plutôt d'opérations logiques par éléments. C'est là que l'opérateur "&" entre en jeu.

L'opérateur "&" effectue une opération ET logique par élément. Il renvoie un tableau booléen où chaque élément est le résultat du ET logique des éléments correspondants dans les tableaux d'entrée.

Exemple :

import pandas as pd

a = pd.DataFrame({'x':[1,1],'y':[10,20]})

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

Sortie :

   x   y
0  1  10
Copier après la connexion

Dans cet exemple, l'opérateur "&" est utilisé pour rechercher les lignes où les colonnes "x" et "y" rencontrent les critères spécifiés.

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