python 通过numpy库 将两个(多个)二维数组合并为三维数组
问题:存在多个独立的维度大小相同的二维数组(矩阵或者经纬度网格),将其合并为一个三维数组(矩阵),合并后的三维数组(矩阵)的某一维(如第一维)为矩阵的个数。形象一点来举个例子现在有三个4x4的二维数组a,b,c,想要将其合并为一个3x4x4的三维数组方法:1、通过np.array([a,b,c]),变相的达到拓展维度的结果2、通过np.vstack()先按顺序垂直地(逐行)堆栈数组,然后resha
·
问题:
- 存在多个独立的维度大小相同的二维数组(矩阵或者经纬度网格),将其合并为一个三维数组(矩阵),合并后的三维数组(矩阵)的某一维(如第一维)为矩阵的个数。
形象一点来举个例子
- 现在有三个
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
- 运行结果如下,发现基本都能实现需求。基于上述方法,可以实现其他数据的相关处理,比如合并多个二维经纬度网格数据、其他气象数据等等
更多推荐
已为社区贡献16条内容
所有评论(0)