我在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)
答案 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)