web-dev-qa-db-fra.com

vérifie combien d'éléments sont égaux dans deux tableaux numpy python

J'ai deux tableaux numpy avec un nombre (même longueur) et je veux compter combien d'éléments sont égaux entre ces deux tableaux (égaux = la même valeur et la même position dans le tableau)

A = [1, 2, 3, 4]
B = [1, 2, 4, 3]

alors je veux que la valeur de retour soit 2 (seulement 1 et 2 sont égaux en position et en valeur)

37
Shai Zarzewski

En utilisant numpy.sum :

>>> import numpy as np
>>> a = np.array([1, 2, 3, 4])
>>> b = np.array([1, 2, 4, 3])
>>> np.sum(a == b)
2
>>> (a == b).sum()
2
70
falsetru

Tant que les deux tableaux ont la même longueur, vous pouvez le faire avec:

np.count_nonzero(A==B)
20
jdehesa