我遇到了将3D修改为2D的问题,以便将其提供给带宽函数以进行均值偏移计算。最初我查询数据库中的1D数组值和属于这些值的IDś数据 - 这将有助于我以后识别源。在计算之前,我再添加一个维度以确保计算正确,并且所有这些结果都保存在3D数组中。现在我需要向计算函数提供包含值和零的2D,但是我在构建2D压缩(没有描述ID的thrid值)数组时遇到了问题。有没有人知道如何使用numpy并没有一个包含ID的完全独立的列表?
源数组:
[(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, --)]
需要的数组:
[(2.819999933242798, 0.0)
(3.75, 0.0)
(3.75, 0.0)]
干杯
答案 0 :(得分: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在评论