毎回忘れるのでメモ。 1つのベクトル集合$X$内のベクトル間距離の場合、距離行列が対称行列なので、triu_indicesで狭義上三角行列のインデックスを取得して、その部分だけargsortする。 import numpy as np from scipy.spatial import distance_matrix sample_num = 100 dim = 8 X = np.random.randn(sample_num, dim) D = distance_matrix(X, X) ti = np.triu_indices(sample_num, 1) sorted_indices = np.argsort(D[ti]) ix, iy = ti[0][sorted_indices], ti[1][sorted_indices] print(D[ix, iy]) import num