我想在两个 numpy.ndarray 之间找到欧几里得远距离。
lower_boundary = 0
upper_boundary = 1
n = 4 # dimension
sample_size = 3
np.random.seed(9001) # set the seed to yield reproducible results
X2 = np.random.uniform( low=lower_boundary, high=upper_boundary, size=(sample_size, n) )
Y2 = np.random.uniform( low=lower_boundary, high=upper_boundary, size=(sample_size, n) )
print( 'X2: ', X2 )
print( 'Y2: ', Y2 )
感谢所有人
答案 0 :(得分:0)
欧几里得距离为D(i,j)。那么D(i,j)对应于X中的第i行和Y中的第j行之间的成对距离。在这种情况下,距离矩阵的大小将为3 x3。
final_sum=np.zeros([sample_size,sample_size])
for row_inX in range(0, sample_size):
for row_inY in range(0, sample_size):
final_sum[row_inX][row_inY]= np.sqrt(np.sum((X2[row_inX]- Y2[row_inY])**2))
print(final_sum)