我有3D阵列

pcar=[[xa ya za]
      [xb yb zb]
      .
      .
      [xn yn zn]]


和索引数组为

[0,1,0....,2]


它给出了pcar中的行应放在哪个簇中,以便我可以用不同的颜色绘制它。群集的最大值为3。

输出应为

clusters[0] = [[xa ya za], [xc yc zc], ...]
clusters[1] = [[xb yb zb], ...]
clusters[2] = [..., [xn yn zn]]


我想在图形中打印该点,每个簇点具有不同的颜色

最佳答案

据我了解,您想生成一个集群列表,如下所示:

clusters[0] = [[xa ya za], [xc yc zc], ...]
clusters[1] = [[xb yb zb], ...]
clusters[2] = [..., [xn yn zn]]


使用NumPy索引非常容易做到。让索引数组称为indices。然后,

indices = np.asarray(indices)
num_clusters = 3
clusters = [pcar[indices==i] for i in xrange(num_clusters)]


会给你想要的结果

关于python - 使用索引分割Numpy数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23065790/

10-09 15:06