如何比较两个二维数组并获得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%
我使用的是最新版本的 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%