【发布时间】:2019-04-03 14:32:26
【问题描述】:
我正在研究 Minkowski 距离,其定义如下:
我使用for循环来计算如下,
import numpy as np
import random
A = np.random.randint(5, size=(10, 5))
B = [1, 3, 5, 2, 4]
for i in range(10):
dist = (sum((abs(A[i]-B))**5))**(1/5) # I set p=5 in this case
print("Distances: ", dist)
有什么方法可以使用 numpy 技术避免这个循环?
【问题讨论】:
-
你应该使用
scipy.spatial.distance.cdist。它支持开箱即用的 Minkowski 度量。
标签: python arrays python-3.x numpy