如何解决将 2 个 ndarrays 合并成一个,其第一个组件是两个初始 ndarrays
我有两个 ndarrays
,A 和 B。我想创建一个 ndarray
,C,这样 C[0]=A
和 C[1]=B
。
换句话说,如果A.shape
和B.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 举报,一经查实,本站将立刻删除。