如何解决如何加入两个 3D numpy 数组,以便 np.arr(1,m,n) + np.arr(1,m,n) = np.arr(2,m,n)
我有几个 3 维 numpy 数组,我想将它们连接在一起,作为我的 LSTM 神经网络的训练集。它们的形状大多是 (1,m,n)
我想加入他们,例如np.arr(1,50,20) + np.arr(1,20) = np.arr(2,20) 和 np.arr(1,20) + np.arr(3,20) = np.arr(4,20)
numpy 的哪些堆栈函数适合我的问题?或者有其他更有效的方法来解决它吗?
解决方法
对第一个轴使用 numpy concatenate
。
import numpy as np
rng = np.random.default_rng()
a = rng.integers(0,10,(1,3,20))
b = rng.integers(-10,-1,(2,20))
c = np.concatenate((a,b),axis=0)
print(c.shape)
(3,20)
,
使用np.vstack
x = np.array([[[2,5],[4,5,1]]])
y = np.array([[[1,8],[8,9]]])
x.shape
(1,2,3)
np.vstack((x,y)).shape
(2,3)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。