2014-04-08 42 views
1

我在修改3D到2D以便将其提供给带宽函数以进行均值偏移计算时遇到问题。最初我在数据库中查询数据的一维数组数组和ID属于这些值 - 这将有助于我稍后确定来源。在计算之前,我再添加一个维度以确保计算正确并且所有这些结果都保存在3D数组中。现在我需要向计算函数提供包含值和零的二维数据,但是我无法构建二维压缩(没有描述ID的thrid值)数组。有谁知道如何使用numpy做它,并没有一个完全独立的列表包含ID的?Numpy,masking和sklearn集群

源阵列:它已被屏蔽数组后

[(2.819999933242798, 0.0, 16383) 
(3.75, 0.0, 16384) 
(3.75, 0.0, 16385)] 

[(2.819999933242798, 0.0, --) 
(3.75, 0.0, --) 
(3.75, 0.0, --)] 

阵列,因为它需要是:

​​

干杯

+1

它看起来像你有一个元组列表,而不是一个numpy数组。如果你确实有这种格式的数组,你似乎只想摆脱最后一列,你可以用'arr [:,: - 1]'来完成。 – BrenBarn

回答

1

,你可以先转换为一个numpy数组:

h=[(2.819999933242798, 0.0, 16383), (3.75, 0.0, 16384) , (3.75, 0.0, 16385)] 
a=np.array(h) 

然后拿到列你想:

a[:,0:2] 

给出:

array([[ 2.81999993, 0.  ], 
     [ 3.75  , 0.  ], 
     [ 3.75  , 0.  ]]) 

或者a[:,:-1]由@BrenBarn的意见建议