如何比较两个二维数组并获得python中比较值的百分比?

How to compare two 2d arrays and get the percentage of compared value in python?

我使用的是最新版本的 python,它是 3.8,我有两个带有一些数据的二维数组,我想将它们相互比较,并希望获得相似值的百分比。

e:g

arr1 = [1,2,3,4,5,6,7,8,9,0] arr2 = [1,33,4,56,2,55,4,56,66,5]

如您所见,1,2,4,5 在两个数组中是相似的。所以百分比将是 40%,百分比可以是小数,比如 40.0%。

我是初学者,请告诉我最简单有效的方法。我对numpy也知之甚少。

您可以将两个列表中的每一个都转换成集合,然后找到两个新集合的交集的len()并将其除以列表的大小(假设列表的长度相等)

arr1 = [1,2,3,4,5,6,7,8,9,0]
arr2 = [1,33,4,56,2,55,4,56,66,5]

set_1 = set(arr1)
set_2 = set(arr2)

print(set_1)
print(set_2)

similarity = len(set_1.intersection(set_2)) / len(set_1) * 100
print(f'The similarity is: {similarity}%')

您将获得 40%