Dépannage de l'ambiguïté du tableau booléen de NumPy
Dans les opérations NumPy, la combinaison d'opérateurs logiques avec des comparaisons de tableaux génère souvent l'erreur "La valeur de vérité d'un tableau avec plus d'un élément est ambigu." Pour atténuer ce problème, explorons la raison sous-jacente et les solutions potentielles.
Comprendre l'ambiguïté booléenne
Lors de la comparaison de tableaux dans un contexte logique, NumPy est confronté au défi de déterminer le véracité globale d'un tableau. Doit-il renvoyer True si un élément est True, ou seulement si tous les éléments sont True ? L'ambiguïté vient de l'absence de convention claire.
Correction de l'erreur
Pour résoudre cette ambiguïté, NumPy fournit des méthodes explicites pour évaluer les tableaux booléens :
Exemple :
Pour corriger le code mentionné dans le problème, remplacez-le avec :
(x > 1).any() and (x < 3).any()
Raison d'être
En utilisant .any(), le code spécifie explicitement que le résultat doit être vrai si un élément du tableau satisfait à l'inégalité .
Remarque concernant les tableaux non booléens :
Lorsque vous travaillez avec tableaux non booléens (par exemple, tableaux contenant des valeurs numériques), envisagez d'utiliser (a - b).any() ou (a - b).all() au lieu de (a & b).any() ou (a & b). ).all().
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!