在for循环中将多个2D数组添加到3D数组

时间:2020-06-25 13:55:18

标签: python arrays numpy

我在python编程中遇到问题。

我正在操纵深度学习中的特征提取。我想在for循环中将几个2D数组添加到3D数组中。我可以使用下面显示的这种简单方法来达到目的。这种方法在大样本中是不现实的。

但是在我的情况下,在一个样本函数中返回的数据是2D数组(即形状为(41,4)),数据本身在循环中(即30个样本),我想要的结果获得的是3D数组(即形状为(30,41,4))。

我没有找到任何相关信息,我确实停留在这里,希望有人可以帮助我。

import numpy as np
 
a = np.array([[1,2,3],[4,5,6]])
b = np.array([[2,2,3],[4,5,6]])
c = np.array([[3,2,3],[4,5,6]])
print(a)
print(a.shape)
 
com = np.array([a,b,c])
print(com)
print(com.shape)

1 个答案:

答案 0 :(得分:0)

您可以使用np.stack

>>> arr = np.stack((a,b,c))
>>> arr
array([[[1, 2, 3],
        [4, 5, 6]],

       [[2, 2, 3],
        [4, 5, 6]],

       [[3, 2, 3],
        [4, 5, 6]]])
>>> arr.shape
(3, 2, 3)
相关问题