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

将 2 个 ndarrays 合并成一个,其第一个组件是两个初始 ndarrays

如何解决将 2 个 ndarrays 合并成一个,其第一个组件是两个初始 ndarrays

我有两个 ndarrays,A 和 B。我想创建一个 ndarray,C,这样 C[0]=AC[1]=B

换句话说,如果A.shapeB.shape都给出(a,b),我想创建一个ndarray,C,它的形状是(2,a,b)。>

有没有办法构造这个?对于形状为 ndarrays 的 N (a,b),是否有一种有效的方法可以使最终的 ndarray 具有形状 (N,b)

解决方法

您可以使用 numpy.stack

a = np.ones((3,4))
b = np.zeros((3,4))
c = np.stack((a,b),axis=0)
c.shape  # (2,3,4)

数组 c 具有以下数据:

array([[[1.,1.,1.],[1.,1.]],[[0.,0.,0.],[0.,0.]]])
,

为了在不指定 axis 的情况下实现您想要的效果,您可以使用 dstack 以序列深度方式堆叠数组:

a = np.array([[1,2],[3,4]])
b = np.asarray([[5,6],[7,8]])

np.dstack((a,b))

array([[[1,5],[2,6]],[[3,7],[4,8]]])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。