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 ?
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 :
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!