堆叠2-D阵列numpy

时间:2017-04-14 15:59:09

标签: python arrays numpy

让我们说t是维度为(30,5)的二维Numpy数组(或实际上,(1,30,5)),而x也是一个Numpy形状数组{ {1}}。我试图将x中的2-D数据转换为3-D数据,新数组中的每个矩阵都是(1000, 5)中1000行的30(连续)。在xnp.vstack

的元组上使用t
x[:30]

我的输出形状为t = np.vstack((t, x[:30])) ,但我希望它为(60,5)。我该怎么做?

更新:我尝试了dkv的建议,实施时:

(2, 30, 5)

现在它是一维的。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

有很多方法。一个是

dreamhostsite.yourdomain.com.  1800  IN  A  <ip/fqdn-at-dreamhost>

np.r_['0,3,1', t, x[:30]] 是一种“通用连接器”。在这种情况下,第一个参数指示它沿着0号轴连接,以产生数组参数3d,并在必要时填充尺寸,使得正常的第0轴成为填充数组中的第1轴。

答案 1 :(得分:0)

您需要重塑x [:30]切片以匹配t的尺寸,以便您实际将它们堆叠在正确的尺寸中。

t = np.ones((1,30,5))
x = np.ones((1000,5))
out = np.vstack((t, x[:30].reshape(1,30,5)))
out.shape
>>> (2L, 30L, 5L)