目录

高维数组

创建数组

高维数组运算

连接函数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图解(三)--高维数组相关推荐

  1. python高维数据的读取_索引访问高维数组_Python数据分析与科学计算基础篇1:NumPy图解,使抽象的数据具象为可触摸的图形_深度学习视频-51CTO学院...

    购买本课程所在专题<Python数据分析师:0基础到数据分析达人>https://edu.51cto.com/topic/2570.html,赠送一本"Python相关图书&qu ...

  2. 图解数据分析(10) | Numpy - 与2维数组操作(数据科学家入门·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...

  3. 图解数据分析(9) | Numpy - 与1维数组操作(数据科学家入门·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/33 本文地址:https://www.showmeai.tech/article-d ...

  4. Python 数据分析三剑客之 NumPy(三):数组的迭代与位运算

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  5. Python | Python保存高维数组array,Python用pandas将numpy保存csv文件,Python保存3维数组

    保存一维二维数组 # x是你要保存的一维或二维数组 import pandas as pd data = pd.DataFrame(x) data.to_csv('data.csv') 或者这样保存2 ...

  6. numpy之高维数组的转置:transpose方法——通过几何体来迅速理解

    首先说明,这个方法是博主在理解高维数组转置的transpose 方法时所提出的,因此严谨性和正确性有待考察,但私以为完全可以这样理解,因此做个记录,如果对你有帮助的话欢迎点赞收藏,如果认为有错误的话请 ...

  7. 这可能是我见过最好的 NumPy 图解教程!

    NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化了向量和矩阵的操作及处理.python的不少数据处理软件包依赖于NumPy作为其基础架构的核心部分(例如scikit ...

  8. 这是我见过最好的NumPy图解教程!

    来源丨大数据文摘 原文链接丨https://jalammar.github.io/visual-numpy/ 正文 NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化 ...

  9. python numpy矩阵切片_Numpy数组的索引与切片和变形拼接分裂

    1.概述 今天我们来讲一下Numpy数组的索引与切片,numpy数组的索引与切片和Python中的切片与索引的作用相同,可以快速的取出数据,进行下一步的运用或者查看,但是两种切片还有一些不同的地方.另 ...

  10. NumPy 图解教程!

    来源丨大数据文摘 原文链接丨https://jalammar.github.io/visual-numpy/ 正文 NumPy是Python中用于数据分析.机器学习.科学计算的重要软件包.它极大地简化 ...

最新文章

  1. 人工智能 有信息搜索 (启发式)
  2. 【读书笔记】JavaScript高级编程(二)
  3. dama数据管理知识体系指南_DAMA知识体系解读(6)数据操作管理
  4. oracle画圆,元宵佳节:看Oracle技术粉们用SQL画团圆
  5. servlet中弹出对话框
  6. 计算机专业综合改革举措,计算机专业教学改革
  7. 高德坐标转百度坐标并导航
  8. 浅谈长尾理论--《Makers》读后感
  9. 十一、Shell脚本流程控制语句
  10. 区别大盘点:信息学竞赛、信息学奥赛、NOIP、NOI和IOI傻傻分不清楚
  11. 3D游戏编程与设计4——游戏对象与图形基础
  12. 如何给PDF文件添加页码
  13. Python:正则表达式 re.sub()替换功能
  14. opencv下载过慢的问题
  15. 获取自然周 自然月 区间
  16. 计算机无法使用本地搜索,电脑资源管理器搜索功能无法使用解决措施
  17. VB移动及改变无标题窗体的大小(二)
  18. 抖音官方开始禁止这3种带货玩法,以后不要碰了
  19. Top-K Off-Policy Correction for a REINFORCE Recommender System
  20. 好用计算机,六款让你电脑更好用的软件

热门文章

  1. frp穿透你的远程桌面
  2. SAP 业务技术平台(BTP) Workflow(工作流)功能介绍
  3. svg格鲁特动画代码
  4. 【华为MateBook13】更换1TB固态硬盘SSD+重装win10系统+安装NVIDIA显卡驱动+电脑管家+指纹驱动+蓝牙驱动+Office激活
  5. Jmeter .jmx 改为.jtl
  6. 学计算机应该具备什么能力,学习计算机专业该具备那些能力?
  7. free源码分析---1
  8. 【2016】【论文笔记】差频可调谐THz技术——
  9. ctfshow 日志包含Web80-81
  10. 飞机大战C++源代码