检查两个numpy数组中相等的元素数量

72 投票
2 回答
130122 浏览
提问于 2025-04-18 18:27

我有两个长度相同的numpy数组,里面都是数字。我想统计这两个数组中有多少个元素是相同的(相同的意思是值和位置都一样)。

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

然后我希望返回的结果是2(因为只有1和2在位置和数值上是相等的)。

2 个回答

32

只要这两个数组的长度是一样的,你就可以用下面的方式来实现:

np.count_nonzero(A==B)
121

使用 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

撰写回答