让我们说t
是维度为(30,5)
的二维Numpy数组(或实际上,(1,30,5)
),而x
也是一个Numpy形状数组{ {1}}。我试图将x中的2-D数据转换为3-D数据,新数组中的每个矩阵都是(1000, 5)
中1000行的30(连续)。在x
和np.vstack
或
t
时
x[:30]
我的输出形状为t = np.vstack((t, x[:30]))
,但我希望它为(60,5)
。我该怎么做?
更新:我尝试了dkv的建议,实施时:
(2, 30, 5)
现在它是一维的。有什么想法吗?
答案 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)