Numpy - 在多个坐标中查找匹配 - 重新访问

时间:2018-04-24 12:43:33

标签: python

我正在使用somoclu来生成某些数据的紧急自组织映射。一旦我拥有BMU(最佳匹配单位),我就在BMU的坐标上执行Delaunay三角测量,以便在SOM中找到每个BMU的邻居。

使用友情提供的信息here,我提出了以下Python系列,它看起来非常混乱。它可以缩短或以其他方式整理吗?

points = np.unique(np.array(som.bmus), axis=0)
# Tidy up the line below?
bmu_idxs = np.argwhere((som.bmus[:,None] == points).all(axis=2))[:,1]

pointssom.bmus都是两列int32 numpy数组,其中每一行都是一对坐标。 points将包含唯一点的排序列表列表,对象是在som.bmus的每一行的列表中查找索引。因此,从上面输出到bmu_idxs是一个与som.bmus有行相同长度的numpy数组。

0 个答案:

没有答案