计算矩阵距离的最快方法

2024-04-20 02:51:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我要计算两个矩阵之间的距离。距离是匹配点之间的平方差之和。你知道吗

这是矩阵A

[{'id': 1, 'feature': 17}, {'id': 3, 'feature': 1},{'id': 18, 'feature': 26}]

这是矩阵B:

[{'id': 4, 'feature': 3}, {'id': 1, 'feature': 183},{'id': 17, 'feature': 9},{'id': 18, 'feature': 19},{'id': 123, 'feature': 2}]

距离为:

(17-183)^2 + (26-19)^2 = 27 605

以我的Python水平,我会:

s = 0
for a in A:
    for b in B:
        if(a['id']==b['id']):
            s+=(a['feature']-b['feature'])*(a['feature']-b['feature'])

我得到了好结果。你知道吗

但我会在大矩阵上做这个运算,而且会做很多次。你知道吗

问题是:用Python编写代码的最快方法是什么?你知道吗


Tags: 方法代码inid距离forif水平