こんにちは、行のすべてのペア間の距離を含む行列を返すコードを (python 2 を使用して) 記述しようとしています。以下は私が書いた実装です。期待どおりに動作しますが、行数が大きくなると非常に遅くなる可能性があります。したがって、多数の行に対してコードをより効率的にする方法について誰か提案があるかどうか疑問に思っていました。
前もって感謝します
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