python - 如何检查两个数字列表的百分比相似性?
问题描述
我想将一个列表的值与(相同索引的)另一个列表的值进行比较,并让函数输出一个百分比。
List_A= [ -0.56 0.98 0.68]
List_B= [-0.51 0.97 0.66]
Similarity_of_lists(List_A, List_B)= 97%(不是实际百分比,但在这种情况下应该很高)
现在,我认为这将是一些 for 循环,其中百分比差异被取为,例如 -0.56 和 -0.51,然后是 -0.98 和 -0.97,等等。然后平均百分比差异给出一个最终结果百分比差异。然后返回 1 平均百分比差异作为列表的百分比相似性。但是,我想知道是否有人能想到比这更有效的方法?
谢谢!
解决方案
它可能取决于您希望避免的依赖项的数量,以及这些列表的大小是否会严重影响某些方法的计算时间。但是,以下将完成您正在寻找的内容:
import numpy as np
lista = [-.56, .98, .68]
listb = [-.51, .97, .66]
100 - np.mean([100*abs(lista[i] - listb[i])/listb[i] for i in range(len(lista))])
95.37828252200599
推荐阅读
- node.js - docker-compose up with volumes - package.json的“没有这样的文件或目录”
- amazon-sqs - SQS 消息保持在进行中
- debian - 在纱线上找不到 pm2 命令
- python - 将多个 excel 文件中的数据合并和复制粘贴到另一个文件无法正常工作
- c++ - 为什么 Visual Studio 2019 在 Openmp 的 for-reduction 中不支持关键字“max”?
- twig - 获取冒名顶替者用户名但收到代码已弃用通知
- arrays - WordPress add_comment_meta + comment_meta 正确用法?
- python - pandas :使用附加列名附加数据框
- flutter - 不呈现数据它给出错误未处理的异常:类型'列表
' 不是类型 'Map 的子类型 ' 在颤振中 - javascript - 反应原生的 2 列