如何实现'内部'拉链?

时间:2013-10-31 14:45:04

标签: numpy reshape

两个数组xy的形状为(a,b)。如何获得形状(a,b,2)的组合数组?

我目前的解决方案是

z = np.zeros((a,b,2))
z[:,:,0] = x
z[:,:,1] = y

是否可以在不创建新阵列的情况下实现这一目标?

1 个答案:

答案 0 :(得分:3)

您可以使用np.dstack

In [2]: import numpy as np
In [3]: a = np.random.normal(size=(4,6))
In [4]: b = np.random.normal(size=(4,6))

In [5]: np.dstack((a,b)).shape
Out[5]: (4, 6, 2)

并进行比较:

In [10]: d = np.dstack((a,b))  
In [11]: c = np.zeros((4,6,2))
In [12]: c[:,:,0] = a
In [13]: c[:,:,1] = b

In [14]: np.allclose(c,d)
Out[14]: True