问题:

  • 存在多个独立的维度大小相同的二维数组(矩阵或者经纬度网格),将其合并为一个三维数组(矩阵),合并后的三维数组(矩阵)的某一维(如第一维)为矩阵的个数。

形象一点来举个例子

  • 现在有三个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
  • 运行结果如下,发现基本都能实现需求。基于上述方法,可以实现其他数据的相关处理,比如合并多个二维经纬度网格数据、其他气象数据等等
    在这里插入图片描述
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐