我有两个向量a
和b
,想将a
中的每个元素与b
中的每个元素进行比较。为了进行比较,我想使用absolute difference。
做到这一点的最佳方法是什么,这意味着没有嵌套/双重循环?
插图:
a = [1,2,3]
b = [4,5,6]
calculation idea:
1 2 3
4 3 2 1
5 4 3 2
6 5 4 3
resulting matrix:
3 2 1
4 3 2
5 4 3
这样的计算如何称呼?
答案 0 :(得分:2)
import numpy as np
a = np.array(a)
b = np.array(b)
使用外部:
np.subtract.outer(b,a)
使用广播:
b[:,None]-a