"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je déterminer l’égalité des éléments des tableaux NumPy ?

Comment puis-je déterminer l’égalité des éléments des tableaux NumPy ?

Publié le 2024-11-10
Parcourir:200

How Do I Determine Element-wise Equality of NumPy Arrays?

Détermination de l'égalité par élément des tableaux NumPy

La comparaison de deux tableaux NumPy pour l'équivalence est une opération fondamentale souvent rencontrée dans l'analyse de données et le calcul scientifique . Bien que l'approche de base implique l'utilisation de l'opérateur d'égalité (==), elle renvoie un tableau booléen, laissant au programmeur la responsabilité de vérifier toutes les valeurs vraies. Cela peut être fastidieux et sujet aux erreurs.

Pour résoudre ce problème, NumPy fournit un raccourci pratique :

(A == B).all()

Cette expression exploite la méthode all(), qui renvoie True si tous les éléments du tableau booléen sont True, comparant efficacement et de manière concise les éléments du tableau.

Considération des cas particuliers et des alternatives

Il convient de noter que l'approche (A == B).all() peut avoir un comportement inattendu lorsque A ou B est vide ou comporte un seul élément et que l'autre tableau a une forme différente. Dans de tels cas, il est recommandé d'utiliser des fonctions spécialisées telles que :

  • np.array_equal(A, B) : vérifie l'égalité des formes et du contenu.
  • np.array_equiv(A, B ) : Vérifie les formes diffusables et le contenu égal.
  • np.allclose(A, B, ...) : Détermine si les tableaux ont des formes et des éléments similaires dans une tolérance spécifiée.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3