如何将类似数组的对象数组传递给这样的函数?(scikitlearn.neighbors.KDTree)

2024-06-02 05:40:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个很好的KDTree构造函数,它接受一个numpy数组,现在我有一个用例,我想把3D空间中每个点的相关名称与该点一起传递,所以当我查询该点并取回它时,我也可以得到它的名称。这对调试非常有用。在

我的问题是:我如何使用这个接口来完成这个任务,它接受一个类似数组的对象。 http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html

一个让事情更清楚的例子:

假设我有很多观点:

[[1, 1, 1.1],
 [1, 1, 1.2], 
 [1, 1, 100]]

每个点都有一个名字,a,b和c

构造KDTree的方法是tree=KDTree(X),其中X是上面的矩阵。现在如果我用点[1,1,1]来查询KDTree,我会得到上面的前两个点(比如说)。现在,我怎样才能把这些点的名字,作为a和b,现在,我知道的唯一方法就是保留第二本字典中的名字。但对于一组非常大的点来说,这似乎是在浪费空间和优雅。在

原始API是否允许在点的同时存储一个名称?如果可能的话怎么做。在


Tags: 对象方法orgnumpy名称moduleshttp空间