这是从数组中产生输出的一种方法:
>>> np.dstack((a1,b1)).transpose(2,0,1)
array([[[ 1, 2],
[ 3, 4]],
[[ 5, 6],
[ 7, 8]],
np.dstack 生成一个 3D 数组,但轴需要以不同的顺序读取。我们希望轴的顺序 (0, 1, 2) 更改为 (2, 0, 1),因此需要转置和交换轴。
以下是关于连接数组的潜在有用信息,但不是直接相关的信息。 (在我对问题的误解被指出之前输入。)
加入数组的一种方法是使用np.concatenate:
>>> np.concatenate((a1, b1))
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
这将一个堆叠在另一个之下。您还可以将数组与np.concatenate((a1, b1), axis=1) 并排连接。 (可以将两个以上的数组传递给函数。)
还有其他功能可以做到这一点;以上两个操作可以分别用np.vstack((a1,b1))和np.hstack((a1,b1))完成。
如果要加入3D数组,可以使用np.dstack((a1,b1)):
array([[[1, 5],
[2, 6]],
[[3, 7],
[4, 8]]])
请记住,与 Python 列表不同,Numpy 数组不能在内存中动态增长。这些操作会导致数组被复制并用更大的数组填充新的内存块。如果数组很大,这可能是低效的。