将2d numpy数组连接到3d numpy数组

时间:2016-02-06 09:32:22

标签: python arrays numpy

我有大量的2d数组,这些数组是用循环创建的。

>>> for x in list_imd:
...     arr = arcpy.RasterToNumPyArray(x)
...     print arr.shape
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)
(129, 135)

我想将这些2d数组转换为一个3d数组。

>>> arr_stacked.shape
(19, 129, 135)

1 个答案:

答案 0 :(得分:3)

尝试使用简单的numpy.array constructor

import numpy as np

np.array([arcpy.RasterToNumPyArray(x) for x in list_imd])

以下是我的一个例子:

a = np.array([[1, 2, 3], [3, 4, 5]])

>>> np.array([a, a]).shape
(2, 2, 3)