首页 > 解决方案 > 如何比较两个二维数组并获取python中比较值的百分比?

问题描述

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

例如

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 也知之甚少。

标签: pythonarraysnumpycomparisonpercentage

解决方案


您可以将两个列表中的每一个转换为集合,然后找到两个新集合的交集的 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%


推荐阅读