Maison >développement back-end >Tutoriel Python >Comment résoudre l'erreur « La valeur de vérité d'une série est ambiguë » dans le filtrage Pandas ?

Comment résoudre l'erreur « La valeur de vérité d'une série est ambiguë » dans le filtrage Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-25 21:37:11513parcourir

How to Resolve

Valeur de vérité ambiguë dans la série Pandas : filtrage avec la condition OR

Nous rencontrons l'erreur "La valeur de vérité d'une série est ambiguë" lorsque tenter de filtrer un DataFrame à l'aide d'une condition OR, comme indiqué ci-dessous :

df = df[(df['col'] < -0.25) or (df['col'] > 0.25)]

Cette erreur provient de la nature ambiguë de la vérité valeurs dans la série pandas. Pour résoudre ce problème, nous devrions plutôt utiliser des opérateurs « au niveau du bit », qui sont spécifiquement conçus pour les opérations booléennes au niveau des éléments dans les pandas.

Opérateurs OR et AND au niveau du bit

Les Opérateur OU au niveau du bit | et l'opérateur AND au niveau du bit & conviennent à notre objectif. Ils opèrent élément par élément sur la série, renvoyant une série booléenne où chaque élément représente le résultat de l'opération OU ou ET sur les éléments correspondants de la série d'origine.

Dans notre cas, nous pouvons réécrire l'expression du filtre. en utilisant l'opérateur OR au niveau du bit comme suit :

df = df[(df['col'] < -0.25) | (df['col'] > 0.25)]

Méthodes alternatives

Le message d'exception suggère également des méthodes alternatives pour obtenir les valeurs de vérité d'une série :

  • .empty : Vérifie si la série est vide.
  • .bool() : Renvoie une série booléenne où chaque élément est vrai si l'élément correspondant est différent de zéro ou non faux, et faux sinon.
  • .item() : renvoie le premier et le seul élément de la série.
  • .any() : renvoie True le cas échéant. l'élément de la série est différent de zéro, non vide ou non faux ; sinon, il renvoie False.
  • .all() : renvoie True si tous les éléments de la série sont différents de zéro, non vides ou non faux ; sinon, il renvoie False.

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