Привет всем Я пытаюсь написать код (используя python 2), который возвращает матрицу, которая содержит расстояние между всеми парами строк. Ниже приведена реализация, которую я написал. Он работает так, как ожидалось, но может быть очень медленным, поскольку количество строк становится большим. Поэтому мне было интересно, есть ли у кого-нибудь какие-либо предложения относительно того, как код можно сделать более эффективным для большого количества строк.Более эффективный способ вычисления матрицы расстояния в Python
Заранее спасибо
def gendist(x,alpha=2):
(n,p) = x.shape
len = 0
for ii in range(1,n):
len = len + ii
d = np.empty((len,p))
ind = 0
for ii in range(0,n):
for jj in range(1,n):
if ii < jj:
d[ind,] = (x[ii,]-x[jj,])**alpha
ind = ind + 1
return d
python 2 или python 3? –
http://docs.scipy.org/doc/scipy/reference/spatial.distance.html. [Вот пример] (http://stackoverflow.com/a/39205919/5741205) – MaxU