Maison > développement back-end > Tutoriel Python > Comment comparer deux tableaux NumPy pour l'égalité par élément et vérifier s'ils sont entièrement égaux ?

Comment comparer deux tableaux NumPy pour l'égalité par élément et vérifier s'ils sont entièrement égaux ?

DDD
Libérer: 2024-10-26 15:46:02
original
277 Les gens l'ont consulté

How do you compare two NumPy arrays for element-wise equality and check if they are entirely equal?

Comparaison de deux tableaux NumPy pour l'égalité par éléments

Lors de la comparaison de deux tableaux NumPy pour l'égalité par éléments, il peut être tentant d'utiliser l'opérateur ==. Cependant, cette approche renvoie un tableau booléen indiquant l’égalité pour chaque paire d’éléments correspondante. Pour vérifier si les tableaux sont entièrement égaux, nous devons déterminer si tous les éléments du tableau booléen sont vrais.

Le moyen le plus simple d'y parvenir est d'utiliser l'expression (A==B).all() . Cette expression renvoie une seule valeur booléenne qui est vraie si tous les éléments du tableau booléen (A==B) sont vrais, indiquant que chaque élément des deux tableaux est égal.

Exemple :

<code class="python">import numpy as np

arr1 = np.array([1, 1, 1])
arr2 = np.array([1, 1, 1])

result = (arr1 == arr2).all()
print(result)  # Output: True</code>
Copier après la connexion

Cas particuliers et alternatives :

Il est important de noter que :

  • Utilisation de (A==B). all() peut renvoyer True dans de rares cas où un tableau est vide et l'autre contient un seul élément.
  • Si les tableaux ont des formes différentes et ne sont pas diffusables, cette approche générera une erreur.

Dans ces cas, ou si vous désirez une approche plus explicite, pensez à utiliser les fonctions spécialisées suivantes :

  • np.array_equal(A, B) : teste si les tableaux ont le même shape et tous les éléments ont des valeurs égales.
  • np.array_equiv(A, B) : teste si les tableaux peuvent être diffusés et ont les mêmes valeurs.
  • np.allclose(A, B, ...) : Teste si les tableaux ont la même forme et si leurs éléments sont suffisamment proches (dans une tolérance spécifiée).

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal