Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 三维阵列的numpy.dstack?_Python_Numpy - Fatal编程技术网

Python 三维阵列的numpy.dstack?

Python 三维阵列的numpy.dstack?,python,numpy,Python,Numpy,对于二维阵列,效果与预期一样,但由于某些原因,对于三维阵列,它不会按最后一个维度堆叠 对于ND数组,按最后一个维度进行堆栈的正确方法是什么 例如: import numpy as np #2D a = np.zeros((2,2,1)) a.shape (2, 2, 1) np.dstack([a] * 3).shape (2, 2, 3) #3D b = np.zeros((8,2,2,1)) b.shape (8, 2, 2, 1) np.dstack([b] * 3).shape (

对于二维阵列,效果与预期一样,但由于某些原因,对于三维阵列,它不会按最后一个维度堆叠

对于ND数组,按最后一个维度进行堆栈的正确方法是什么

例如:

import numpy as np

#2D
a = np.zeros((2,2,1))
a.shape
(2, 2, 1)

np.dstack([a] * 3).shape
(2, 2, 3)

#3D
b = np.zeros((8,2,2,1))
b.shape
(8, 2, 2, 1)
np.dstack([b] * 3).shape
(8, 2, 6, 1)

如果您想对数组自身进行堆栈(如示例中所示),可以使用np.repeat

b = np.zeros((8,2,2,1))
n_stacks = 3
np.repeat(b, n_stacks, axis=b.ndim-1).shape
(8, 2, 2, 3)
如果要沿最后一个维度堆叠两个不同的数组,可以使用np.concatenate

b = np.zeros((8,2,2,1))
c = np.ones((8,2,2,1))
np.concatenate((b,c),axis=b.ndim-1).shape
(8, 2, 2, 2)

如果您想对数组自身进行堆栈(如示例中所示),可以使用np.repeat

b = np.zeros((8,2,2,1))
n_stacks = 3
np.repeat(b, n_stacks, axis=b.ndim-1).shape
(8, 2, 2, 3)
如果要沿最后一个维度堆叠两个不同的数组,可以使用np.concatenate

b = np.zeros((8,2,2,1))
c = np.ones((8,2,2,1))
np.concatenate((b,c),axis=b.ndim-1).shape
(8, 2, 2, 2)

np.com与
axois
parameter@hpaulj次要输入错误:
np.连接
。np.dstack沿第三维连接<代码>np.comcatenate
与Axisparameter@hpaulj次要输入错误:
np.连接
。np.dstack沿第三维连接。