Numpy图解(三)--高维数组
目录
高维数组
创建数组
高维数组运算
连接函数hstack、vstack和dstack
堆叠函数concatenate
求和函数einsum
高维数组
创建数组
通过重排一维向量或转换嵌套的Python列表来创建3D数组时,索引的含义为(z,y,x)。
第一个索引是平面的编号,然后才是在该平面上的移动:
这种索引顺序很方便,例如用于保留一堆灰度图像:这a[i]是引用第i个图像的快捷方式。
但是此索引顺序不是通用的。处理RGB图像时,通常使用(y,x,z)顺序:前两个是像素坐标,最后一个是颜色坐标(Matplotlib中是RGB ,OpenCV中是BGR ):
这样,可以方便地引用特定像素:a[i,j]给出像素的RGB元组(i,j)。
因此,创建特定几何形状的实际命令取决于正在处理的域的约定:
高维数组运算
连接函数hstack、vstack和dstack
显然,NumPy函数像hstack、vstack或dstack不知道这些约定。其中硬编码的索引顺序是(y,x,z),RGB图像顺序是:
△RGB图像数组(为简便起见,上图仅2种颜色)
堆叠函数concatenate
如果数据的布局不同,则使用concatenate命令堆叠图像,并在axis参数中提供显式索引数会更方便:
如果不方便使用axis,可以将数组转换硬编码为hstack的形式:
这种转换没有实际的复制发生。它只是混合索引的顺序。
混合索引顺序的另一个操作是数组转置。检查它可能会让我们对三维数组更加熟悉。
根据我们决定的axis顺序,转置数组所有平面的实际命令将有所不同:对于通用数组,它交换索引1和2,对于RGB图像,它交换0和1:
有趣的是,(和唯一的操作模式)默认的axes参数颠倒了索引顺序,这与上述两个索引顺序约定都不相符。
求和函数einsum
最后,还有一个函数,可以在处理多维数组时节省很多Python循环,并使代码更简洁,这就是爱因斯坦求和函数einsum:
它将沿重复索引的数组求和。
Numpy图解(三)--高维数组相关推荐
- python高维数据的读取_索引访问高维数组_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...
购买本课程所在专题<Python数据分析师:0基础到数据分析达人>https://edu.51cto.com/topic/2570.html,赠送一本"Python相关图书&qu ...
- 图解数据分析(10) | Numpy - 与2维数组操作(数据科学家入门·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...
- 图解数据分析(9) | Numpy - 与1维数组操作(数据科学家入门·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...
- Python 数据分析三剑客之 NumPy(三):数组的迭代与位运算
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- Python | Python保存高维数组array,Python用pandas将numpy保存csv文件,Python保存3维数组
保存一维二维数组 # x是你要保存的一维或二维数组 import pandas as pd data = pd.DataFrame(x) data.to_csv('data.csv') 或者这样保存2 ...
- numpy之高维数组的转置:transpose方法——通过几何体来迅速理解
首先说明,这个方法是博主在理解高维数组转置的transpose 方法时所提出的,因此严谨性和正确性有待考察,但私以为完全可以这样理解,因此做个记录,如果对你有帮助的话欢迎点赞收藏,如果认为有错误的话请 ...
- 这可能是我见过最好的 NumPy 图解教程!
NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化了向量和矩阵的操作及处理.python的不少数据处理软件包依赖于NumPy作为其基础架构的核心部分(例如scikit ...
- 这是我见过最好的NumPy图解教程!
来源丨大数据文摘 原文链接丨https://jalammar.github.io/visual-numpy/ 正文 NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化 ...
- python numpy矩阵切片_Numpy数组的索引与切片和变形拼接分裂
1.概述 今天我们来讲一下Numpy数组的索引与切片,numpy数组的索引与切片和Python中的切片与索引的作用相同,可以快速的取出数据,进行下一步的运用或者查看,但是两种切片还有一些不同的地方.另 ...
- NumPy 图解教程!
来源丨大数据文摘 原文链接丨https://jalammar.github.io/visual-numpy/ 正文 NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化 ...
最新文章
- 人工智能 有信息搜索 (启发式)
- 【读书笔记】JavaScript高级编程(二)
- dama数据管理知识体系指南_DAMA知识体系解读(6)数据操作管理
- oracle画圆,元宵佳节:看Oracle技术粉们用SQL画团圆
- servlet中弹出对话框
- 计算机专业综合改革举措,计算机专业教学改革
- 高德坐标转百度坐标并导航
- 浅谈长尾理论--《Makers》读后感
- 十一、Shell脚本流程控制语句
- 区别大盘点:信息学竞赛、信息学奥赛、NOIP、NOI和IOI傻傻分不清楚
- 3D游戏编程与设计4——游戏对象与图形基础
- 如何给PDF文件添加页码
- Python:正则表达式 re.sub()替换功能
- opencv下载过慢的问题
- 获取自然周 自然月 区间
- 计算机无法使用本地搜索,电脑资源管理器搜索功能无法使用解决措施
- VB移动及改变无标题窗体的大小(二)
- 抖音官方开始禁止这3种带货玩法,以后不要碰了
- Top-K Off-Policy Correction for a REINFORCE Recommender System
- 好用计算机,六款让你电脑更好用的软件
热门文章
- frp穿透你的远程桌面
- SAP 业务技术平台(BTP) Workflow(工作流)功能介绍
- svg格鲁特动画代码
- 【华为MateBook13】更换1TB固态硬盘SSD+重装win10系统+安装NVIDIA显卡驱动+电脑管家+指纹驱动+蓝牙驱动+Office激活
- Jmeter .jmx 改为.jtl
- 学计算机应该具备什么能力,学习计算机专业该具备那些能力?
- free源码分析---1
- 【2016】【论文笔记】差频可调谐THz技术——
- ctfshow 日志包含Web80-81
- 飞机大战C++源代码