问题:
- 存在多个独立的维度大小相同的二维数组(矩阵或者经纬度网格),将其合并为一个三维数组(矩阵),合并后的三维数组(矩阵)的某一维(如第一维)为矩阵的个数。
形象一点来举个例子
- 现在有三个
4x4
的二维数组a,b,c,想要将其合并为一个3x4x4
的三维数组
方法:
- 1、通过np.array([a,b,c]),变相的达到拓展维度的结果
- 2、通过np.vstack()先按顺序垂直地(逐行)堆栈数组,然后reshape为(3,4,4)的三维数组
- 3、先构建一个空的三维数组,再将每一个二维数组填入
下面是代码举例:
### 导入numpy库 import numpy as np #prepare data a = np.arange(16) a1=a.reshape([4,4]) a2=a1 a3=a1 ### way 1 a4=np.array([a1,a2,a3]) ### way 2 a5=np.vstack((a1,a2,a3)).reshape(3,4,4) ### way 3 a6=np.zeros((3,4,4)) a6[0,:,:]=a1 a6[1,:,:]=a2 a6[2,:,:]=a3
运行结果如下,发现基本都能实现需求。基于上述方法,可以实现其他数据的相关处理,比如合并多个二维经纬度网格数据、其他气象数据等等