scipy.spatial ValueError:“x必须由长度为%d的向量组成,但形状为%s”

时间:2013-01-10 18:21:19

标签: python scipy kdtree

Scipy有一个优秀的spatial analysis包,其中包含一个K维树。 我试图使用查询函数,它返回此错误:

  

ValueError:x必须由长度为6的向量组成,但具有形状(2,)

有谁知道这个错误指的是什么?

从一些谷歌搜索我发现它有这种一般格式:

raise ValueError("x must consist of vectors of length %d but has shape %s" % (self.m, np.shape(x)))

我相信This是源代码。

1 个答案:

答案 0 :(得分:2)

想出来:

此特定值错误引用用于构建KD树的数组的长度。

%d值表示用于构建KD树的数组的长度,%s值表示数组的长度,就像您用来查询的对象一样。

在我的示例中,%d值为6,因为我构建了一个6维数组。 %s值为2,因为我只提供了两个坐标:(X,Y)来查询。

我的错误是我在构建KD树时意外包含了4个额外的字段。现在这两个值都是2,所有值都按预期工作。