我已经定义了一个球树对象列表,如下所示,其中input1
是一个形状为 (100, 320) 的 NumPy 数组。
bt = []
bt.append(BallTree(input1))
我将 的元素之一input1
作为示例查询,sample_index
假设在范围内。
sample_query = input1[sample_index,:]
# Find nearest neighbour and compute distance and index
distance, index = bt[0].query(sample_query,1)
鉴于 ' sample_query distance[0]
' 是input1
.
# Adding another BallTree instance to the list
#input2 is a numpy array with shape (70,320)
bt.append(BallTree(input2))
distance, index = bt[0].query(sample_query,1)
print distance[0]
# Output here is NOT zero (NOT expected!!)
为什么当我将一个球树对象附加到球树列表“bt”时,“sample_query”和 bt[0] 的最近邻距离会发生变化?当我将一个对象附加到列表 bt 时,我希望对象 bt[0] 不会被修改。我的预期正确吗?