python 通过numpy库 将两个(多个)二维数组合并为三维数组

简介: python 通过numpy库 将两个(多个)二维数组合并为三维数组

问题:



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


形象一点来举个例子


  • 现在有三个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


运行结果如下,发现基本都能实现需求。基于上述方法,可以实现其他数据的相关处理,比如合并多个二维经纬度网格数据、其他气象数据等等


a04d09df2cf4456a85cb5e43dd0ac265.png

相关文章
|
3天前
|
存储 JSON API
Pydantic:目前最流行的Python数据验证库
在处理来自系统外部的数据,如API、终端用户输入或其他来源时,我们必须牢记开发中的一条基本原则:“永远不要相信用户的输入”。 因此,我们必须对这些数据进行严格的检查和验证,确保它们被适当地格式化和标准化。这样做的目的是为了确保这些数据符合我们的程序所需的输入规范,从而保障项目能够正确且高效地运行。
|
4天前
|
存储 缓存 索引
Python中的NumPy库详解
Python中的NumPy库详解
|
5天前
|
机器学习/深度学习 数据可视化 API
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
15 3
|
5天前
|
索引 Python
Python NumPy 广播(Broadcast)
Python NumPy 广播(Broadcast)
14 2
|
7天前
|
XML 自然语言处理 关系型数据库
CasADi - 最优控制开源 Python/MATLAB 库4
CasADi - 最优控制开源 Python/MATLAB 库
18 4
|
7天前
|
Linux API C++
CasADi - 最优控制开源 Python/MATLAB 库3
CasADi - 最优控制开源 Python/MATLAB 库
21 4
|
6天前
|
算法 数据可视化 机器人
Pinocchio - 开源多刚体动力学 C++、Python库
Pinocchio - 开源多刚体动力学 C++、Python库
10 2
|
6天前
|
存储 网络协议 Python
Python如何用PyModbus库进行Modbus TCP通信
使用python解决工业通信问题是一个非常好的选择,python具有丰富的生态,可以轻松解决工业通信的各种问题。 本篇主要介绍使用pymodbus库进行modbus tcp仿真,实现pc端读取plc或工业设备modbus变量。
|
5天前
|
Python
|
7天前
|
自然语言处理 算法 API
CasADi - 最优控制开源 Python/MATLAB 库2
CasADi - 最优控制开源 Python/MATLAB 库
11 0