SciPy - maxdists() 方法



SciPy maxdists() 方法引用模块 “from scipy.spatial.distance import pdist”,该模块允许函数 pdist() 计算给定集合中点之间的成对距离。

该函数在 scipy 中没有任何直接方法。如果用户想查找最大的成对距离,他们可能会更喜欢返回所有成对距离的 pdist() 方法。

语法

其语法如下 −

pdist(point)

参数

此方法只接受一个参数 −

  • point: 这是一个使用 array() 存储数组点集的简单变量。

返回值

此方法返回整数和浮点数的 nd 数组值。

示例 1

以下是 SciPy maxdists() 方法,它分别使用 pdist() 和 max() 函数说明成对和最大距离。

import numpy as np
from scipy.spatial.distance import pdist

# input data
point = np.array([
    [0, 0],
    [1, 1],
    [2, 2],
    [3, 3],
    [4, 4]
])

# pairwise distances
dist = pdist(point)

# maximum distance
max_dist = np.max(dist)

print("The result of pairwise distances:", dist)
print("The result of maximum distance:", max_dist)

输出

上述代码产生以下输出 −

The result of pairwise distances: [1.41421356 2.82842712 4.24264069 5.65685425 1.41421356 2.82842712
 4.24264069 1.41421356 2.82842712 1.41421356]
The result of maximum distance: 5.656854249492381

示例 2

此程序执行与 示例 1 相同的计算,但这里你将得到不同距离度量的结果。

import numpy as np
from scipy.spatial.distance import pdist

# input data in the form of array of points
point = np.array([
    [0, 0],
    [1, 1],
    [2, 2],
    [3, 3],
    [4, 4]
])

# calculate pairwise distances using Manhattan (Cityblock) distance
dist = pdist(point, metric='cityblock')

# find the maximum distance
max_dist = np.max(dist)

print("Pairwise distances (Manhattan):", dist)
print("Maximum distance (Manhattan):", max_dist)

输出

上述代码产生以下输出 −

Pairwise distances (Manhattan): [2. 4. 6. 8. 2. 4. 6. 2. 4. 2.]
Maximum distance (Manhattan): 8.0
scipy_reference.htm
广告