scipy.spatial.distance.

is_valid_y#

scipy.spatial.distance.is_valid_y(y, warning=False, throw=False, name=None)[source]#

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

压缩距离矩阵必须是一维 numpy 数组。它们的长度必须是某个正整数 n 的二项式系数 \({n \choose 2}\)

参数:
yarray_like

压缩距离矩阵。

warningbool, 可选

如果传递的变量不是有效的压缩距离矩阵,则会引发警告。警告消息解释了距离矩阵为何无效。name 用于引用有问题的变量。

throwbool, 可选

如果传递的变量不是有效的压缩距离矩阵,则会引发异常。

namebool, 可选

在警告或异常消息中引用有问题的变量时使用。

返回:
bool

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

示例

>>> from scipy.spatial.distance import is_valid_y

此向量是有效的压缩距离矩阵。长度为 6,对应于 n = 4,因为 4*(4 - 1)/2 等于 6。

>>> v = [1.0, 1.2, 1.0, 0.5, 1.3, 0.9]
>>> is_valid_y(v)
True

具有长度(例如 7)的输入向量不是有效的压缩距离矩阵。

>>> is_valid_y([1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7])
False