python - 如何比较两个二维数组并获取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 也知之甚少。
解决方案
您可以将两个列表中的每一个转换为集合,然后找到两个新集合的交集的 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%
推荐阅读
- kotlin - 在 Mac 上哪里可以找到(安装)Kotlin cinterop 工具
- sql - 一列中的 PostgreSQL 不同数据类型
- c# - 如何调用 Find、FindAll 等泛型方法
- netlogo - 将海龟移动到补丁代理集
- javascript - 为什么 firebase.database() 会抛出错误?
- scikit-learn - 如何获取 RandomizedSearchCV 为 LGBMClassifier 模型选择的特征?
- python - 从电子邮件中的标题添加
- java - 脚本更改 JAVA_HOME 环境变量不起作用
- javascript - discord.js 更新了,我不明白新的 ReactionCollector
- koin - 创建实现 2 个接口的单例对象