将2个Ndarray合并为一个,其第一个组件是两个初始Ndarray

2024-09-30 04:38:18 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

有没有一种方法可以构建这个?对于Nndarrays和shape (a, b)是否有一种有效的方法来实现这一点,以便最终的ndarray具有shape (N, a, b)


Tags: 方法ndarrays形状ndarrayshapenndarrays
2条回答

您可以使用^{}

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., 1., 1., 1.],
        [1., 1., 1., 1.]],

       [[0., 0., 0., 0.],
        [0., 0., 0., 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]]])

相关问题 更多 >

    热门问题