我有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]]
我希望在图表中打印这些点,每个聚类点具有不同的颜色
答案 0 :(得分:2)
据我了解,您希望生成如下所示的群集列表:
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)]
会给你想要的结果。
答案 1 :(得分:0)
类似的东西:
indices = [0,1,0....,2]
[pcar[i][index] for i, index in enumerate(indices)]
# [xa, yb, xc, ... zn]