【python】详解使用numpy模块来拼接矩阵,二维矩阵和三维矩阵
首先,使用下面的代码,创建3个2×2的矩阵A、B、C。
import numpy as np
A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]
C = [[9, 9], [9, 9]]
二维矩阵->二维矩阵
在python中,进行矩阵拼接的语句为:
M = np.concatenate((m1, m2, m3), axis=k)
其中,m1、m2、m3为需要进行拼接的矩阵,axis表示为在哪一个维度进行拼接。
例如:
M = np.concatenate((A, B, C), axis=0)
这行语句表示将A、B、C三个矩阵在第0维(列方向)进行拼接,那么得到的M矩阵为:
如果使用的axis为1(行方向),即:
M = np.concatenate((A, B, C), axis=1)
那么得到的拼接矩阵如下:
二维矩阵->三维矩阵
从上面的演示可知,通过选择不同的axis值,可以使矩阵在不同的维度进行拼接,那么我如果想让A、B、C三个矩阵堆叠在一起,形成一个2×2×3的三维矩阵呢?
例如,希望得到如下矩阵:
显然直接改成axis=2是行不通的。
M = np.concatenate((A, B, C), axis=2)
因为会产生如下报错:
Traceback (most recent call last):File "D:\Anaconda\envs\py37\lib\code.py", line 90, in runcodeexec(code, self.locals)File "<input>", line 1, in <module>File "<__array_function__ internals>", line 6, in concatenate
numpy.AxisError: axis 2 is out of bounds for array of dimension 2
Error中提示的很明显,这三个矩阵没有”2“这个维度,他们只有”0“和”1“两个维度
因此,需要进行维度拓展,将三个2×2的矩阵拓展为三个2×2×1的矩阵,这样他们便拥有了”2“这个维度,做法如下:
A = np.expand_dims(A,axis=2)
B = np.expand_dims(B,axis=2)
C = np.expand_dims(C,axis=2)
使用这三条语句,就会产生如下变化:
即A、B、C三个矩阵从2×2的维度,升维成了2×2×1的维度。
接下来再执行刚刚的那拼接矩阵语句:
M = np.concatenate((A, B, C), axis=2)
那么就会得到如下形式的矩阵:
矩阵M的维度变成了2×2×3。
【python】详解使用numpy模块来拼接矩阵,二维矩阵和三维矩阵相关推荐
- c语言malloc用法 数组,详解C语言用malloc函数申请二维动态数组的实例
详解C语言用malloc函数申请二维动态数组的实例 C语言在程序运行中动态的申请及释放内存十分方便,一维数组的申请及释放比较简单. Sample one #include int main() { c ...
- Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化
Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...
- Android 详解使用 Zxing实现前置摄像头扫描二维码、生成二维码
本文同步到简书 现在二维码使用越来越广泛了,几乎处处可见,并且 公司相关的项目中几乎全部都和二维码扫描有关,所以总结一下自己的使用心路历程,总觉得要做点什么来记录自己的成长,让自己的成长有迹可循,如果 ...
- c语言中一维数组和二维数组,详解C++中的一维数组和二维数组
C++一维数组 定义一维数组 定义一维数组的一般格式为: 类型标识符 数组名[常量表达式]; 例如: int a[10]; 它表示数组名为a,此数组为整型,有10个元素. 关于一维数组的几点说明: ...
- Python画图(直方图、多张子图、二维图形、三维图形以及图中图)
Python画图很方便,不管是平时的学习还是教学当中,都将经常用到,特别直观,其中主要用到两个常用的库,一个二维和三维的:matplotlib.pyplot,mpl_toolkits.mplot3d ...
- python 将三维数据转为二维_将三维矩阵转换/重塑为二维矩阵
使用^{},然后使用^{},如下-X.transpose(1,2,0).reshape(-1,X.shape[0]) 解释- 1)您想要得到由X[:, 0, 0].X[:, 0, 1]等组成的行,也就 ...
- pythonnumpy矩阵详解_python常用模块numpy解析(详解)
numpy模块 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 后打开浏览器输入网址http://local ...
- python二维图颜色函数_Python绘图之二维图与三维图详解
各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import ...
- python三维图切片提取_详解Python二维数组与三维数组切片的方法
如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度: 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间 ...
最新文章
- android dump 完整so,Android dump .so 文件crash log
- stark组件开发之添加功能实现
- SAP MM 巴西采购订单中的NCM Code
- SAP Spartacus Focusdirective继承自Lockdirective,静态代码分析
- 发布 Rafy .NET Standard 版本 Nuget 包
- Java Web学习笔记13:AJAX基础
- 微型计算机原理与接口电子教案,《微型计算机原理与接口技术》电子教案研讨.ppt...
- 记一次工作中的小坑(关于celery)
- eclipse查看git地址_40个适用于Linux管理员和开发人员的git命令(上)
- 使用Mat分析大堆信息
- 2018CUMCM(数学建模国赛)_B——智能RGV的动态调度策略
- 如何快速下载百度网盘大文件
- 北风:个人如何在职场中野蛮生长
- 建筑行业必看,一招学会工地管理诀窍
- 如何从初级程序员顺利晋升到高级程序员?
- phpStudy激活码
- 中富金石老师靠谱分析:2022年国企改革将着力于三个方向
- Linux硬盘镜像获取与还原(dd、AccessData FTK Imager)
- 上海交大工科考博经验及技巧略谈【zz】
- 金秋“论道”分享——《IPTV直播+技术平台浅析》
热门文章
- Chrome-油猴插件及安装
- oracle日志保存时间设置,关于日志设置的详细介绍
- 大数据架构详解电子书全
- 关于常用航模舵机SG90和MG996R的一些使用心得
- 航天信息a6找不到服务器怎么办,航天信息A6基础版 操作流程
- 关于梦行monxin网络商城如何查询开店邀请码的方法
- labview与PLC通过OPC通讯
- [人工智能-深度学习-63]:生成对抗网络GAN - 图片创作:普通GAN, pix2pix, CycleGAN和pix2pixHD的演变过程
- @Transactional 异常并未回滚
- 皮皮安学Java第二十四天