微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何加入两个 3D numpy 数组,以便 np.arr(1,m,n) + np.arr(1,m,n) = np.arr(2,m,n)

如何解决如何加入两个 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 举报,一经查实,本站将立刻删除。