我有大量的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)

最佳答案

尝试使用简单的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)

10-07 17:33