【问题标题】:How to compare two 2d arrays and get the percentage of compared value in python?如何比较两个二维数组并获取python中比较值的百分比?
【发布时间】:2021-09-04 03:33:20
【问题描述】:

我正在使用最新版本的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 也知之甚少。

【问题讨论】:

    标签: python arrays numpy comparison percentage


    【解决方案1】:

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

    【讨论】:

    • 是的,但我没有得到你正在比较 arr1 和 2 的地方。
    • 我正在做一个“设置交叉点”。这是一个数学运算,它检查两个集合的哪些元素彼此相同。参考this文章更好地突出设置交集。
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多