首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用索引拆分Numpy数组

使用索引拆分Numpy数组
EN

Stack Overflow用户
提问于 2014-04-14 16:52:27
回答 2查看 1.3K关注 0票数 1

我有3D数组

代码语言:javascript
复制
pcar=[[xa ya za]
      [xb yb zb]
      .
      .
      [xn yn zn]]

和索引数组作为

代码语言:javascript
复制
[0,1,0....,2]

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

输出应该是

代码语言:javascript
复制
clusters[0] = [[xa ya za], [xc yc zc], ...]
clusters[1] = [[xb yb zb], ...]
clusters[2] = [..., [xn yn zn]]

我想用不同颜色的每个聚类点在图中打印点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-14 18:11:57

据我理解,您希望生成一个集群列表,如下所示:

代码语言:javascript
复制
clusters[0] = [[xa ya za], [xc yc zc], ...]
clusters[1] = [[xb yb zb], ...]
clusters[2] = [..., [xn yn zn]]

使用NumPy索引很容易做到这一点。让索引数组被称为indices。然后,

代码语言:javascript
复制
indices = np.asarray(indices)
num_clusters = 3
clusters = [pcar[indices==i] for i in xrange(num_clusters)]

会给你想要的结果。

票数 2
EN

Stack Overflow用户

发布于 2014-04-14 17:14:47

类似于:

代码语言:javascript
复制
indices = [0,1,0....,2]
[pcar[i][index] for i, index in enumerate(indices)]
# [xa, yb, xc, ... zn]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23065790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档