距离计算 (scipy.spatial.distance)#

函数参考#

从一个矩形数组中存储的原始观测向量集合计算距离矩阵。

pdist(X[, metric, out])

n维空间中观测值之间的成对距离。

cdist(XA, XB[, metric, out])

计算两个输入集合中每一对之间的距离。

squareform(X[, force, checks])

将向量形式的距离向量转换为方阵形式的距离矩阵,反之亦然。

directed_hausdorff(u, v[, seed])

计算两个二维数组之间的有向Hausdorff距离。

用于检查距离矩阵(包括压缩和冗余形式)有效性的谓词。该模块还包含计算距离矩阵中观测值数量的函数。

is_valid_dm(D[, tol, throw, name, warning])

如果输入数组是一个有效的距离矩阵,则返回 True。

is_valid_y(y[, warning, throw, name])

如果输入数组是一个有效的压缩距离矩阵,则返回 True。

num_obs_dm(d)

返回与一个方阵、冗余距离矩阵相对应的原始观测值的数量。

num_obs_y(Y)

返回与压缩距离矩阵对应的原始观测值的数量。

两个数值向量 uv 之间的距离函数。对于大量向量的集合,使用这些函数计算距离是低效的。为此目的,请使用 pdist

braycurtis(u, v[, w])

计算两个一维数组之间的 Bray-Curtis 距离。

canberra(u, v[, w])

计算两个一维数组之间的堪培拉距离。

chebyshev(u, v[, w])

计算切比雪夫距离。

cityblock(u, v[, w])

计算城市街区(曼哈顿)距离。

correlation(u, v[, w, centered])

计算两个一维数组之间的相关距离。

cosine(u, v[, w])

计算一维数组之间的余弦距离。

euclidean(u, v[, w])

计算两个一维数组之间的欧几里得距离。

jensenshannon(p, q[, base, axis, keepdims])

计算两个概率数组之间的 Jensen-Shannon 距离(度量)。

mahalanobis(u, v, VI)

计算两个一维数组之间的马氏距离。

minkowski(u, v[, p, w])

计算两个一维数组之间的闵可夫斯基距离。

seuclidean(u, v, V)

返回两个一维数组之间的标准化欧几里得距离。

sqeuclidean(u, v[, w])

计算两个一维数组之间的欧几里得距离的平方。

两个布尔向量(表示集合)``u`` 和 v 之间的距离函数。与数值向量的情况一样,pdist 在计算所有对之间的距离时更高效。

dice(u, v[, w])

计算两个布尔型一维数组之间的Dice不相似度。

hamming(u, v[, w])

计算两个一维数组之间的汉明距离。

jaccard(u, v[, w])

计算两个布尔一维数组之间的Jaccard-Needham不相似度。

kulczynski1(u, v, *[, w])

计算两个布尔型一维数组之间的 Kulczynski 1 不相似度。

rogerstanimoto(u, v[, w])

计算两个布尔型一维数组之间的 Rogers-Tanimoto 相异度。

russellrao(u, v[, w])

计算两个布尔型一维数组的 Russell-Rao 不相似度。

sokalmichener(u, v[, w])

计算两个布尔型一维数组之间的 Sokal-Michener 相异度。

sokalsneath(u, v[, w])

计算两个布尔型一维数组之间的 Sokal-Sneath 相异度。

yule(u, v[, w])

计算两个布尔型一维数组的 Yule 相异度。

hamming 也可以在离散数值向量上操作。