Numpy拉链功能

时间:2014-10-04 13:39:10

标签: python numpy multidimensional-array numpy-ndarray

如果我有两个numpy 1D数组,例如

x=np.array([1,2,3])
y=np.array([11,22,33])

如何将这些拉入Numpy 2D坐标数组? 如果我这样做:

x1,x2,x3=zip(*(x,y))

结果是类型列表,而不是Numpy数组。所以我做了

x1=np.asarray(x1)

等等.. 是否有更简单的方法,我不需要在每个坐标上调用np.asarray? 是否有Numpy zip函数返回Numpy数组?

2 个答案:

答案 0 :(得分:12)

只需使用

x1, x2, x3 = np.vstack([x,y]).T

答案 1 :(得分:1)

使用numpy.dstack()沿深度方向堆叠输入数组,并使用numpy.squeeze()摆脱单例维度,然后将结果分配给坐标变量x1x2 ,以及x3如下:

In [84]: x1, x2, x3 = np.squeeze(np.dstack((x,y)))

# outputs
In [85]: x1
Out[85]: array([ 1, 11])

In [86]: x2
Out[86]: array([ 2, 22])

In [87]: x3
Out[87]: array([ 3, 33])