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
# 输入数据
point = np.array([
[0, 0],
[1, 1],
[2, 2],
[3, 3],
[4, 4]
])
# 成对距离
dist = pdist(point)
# 最大距离
max_dist = np.max(dist)
print("成对距离的结果:", dist)
print("最大距离的结果:", max_dist)
输出
上述代码产生以下输出 −
成对距离的结果:[1.41421356 2.82842712 4.24264069 5.65685425 1.41421356 2.82842712 4.24264069 1.41421356 2.82842712 1.41421356] 最大距离的结果: 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]
])
# 使用曼哈顿(城市街区)距离计算成对距离
dist = pdist(point, metric='cityblock')
# 找到最大距离
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.html