Numpy库的核心是ndarray,实际上就是N维数组(N-dimensional array),关于这个数据对象的详细介绍,参考官方文档最为合适。有一点要注意的是,ndarray的内置方法只有30多个,常用的如求平均值可以写a.mean(),但是求中位数就不可以,只能写np.median(a)

言归正传,在Numpy中维度dimension被称为轴axis复数为axes)。对于一维数组,如a = np.array([1, 2, 3])a.shape 等于(3, )。

根据广播机制的规则一,小维度数组的shape在最左边补1,所以一维数组会被隐式解释为二维行向量,当矩阵乘以行向量时,可以使用形状 (n, ) 或 (1, n) 得到相同的结果。但是注意一维数组不能通过转置变为二维列向量。


更具体的,一维数组、二维行向量与二维列向量的转换方式如下:


其中,flatten()ravel()方法都是将数组展平为一维数组。两者之间的主要区别在于,ravel()生成的是对父数组的引用(即“视图”),这意味着对新数组的任何更改也会影响父数组,由于ravel不创建副本,因此内存效率高。flatten()则是创建了一个副本,对副本进行修改不会影响父数组。

在很多方法中,轴是作为参数出现的axis=0, 1, ...,如下:


对于轴参数,我们应该理解为“将要被消除或折叠的维度或轴”,而不是将要返回的维度或轴。因此,axis=0意味着行将要被折叠,多行将会变成一行;axis=1意味着列将要被折叠,多列将会变成一列。

一文弄懂Numpy中ndarray的维度(dimension)/轴数(axis/axes)问题相关推荐

  1. 一文弄懂神经网络中的反向传播法

    最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进 ...

  2. 一文弄懂神经网络中的反向传播法——BackPropagation【转】

    本文转载自:https://www.cnblogs.com/charlotte77/p/5629865.html 一文弄懂神经网络中的反向传播法--BackPropagation 最近在看深度学习的东 ...

  3. deque stack java_一文弄懂java中的Queue家族

    简介 java中Collection集合有三大家族List,Set和Queue.当然Map也算是一种集合类,但Map并不继承Collection接口. List,Set在我们的工作中会经常使用,通常用 ...

  4. 一文简单弄懂tensorflow_【TensorFlow】一文弄懂CNN中的padding参数

    在深度学习的图像识别领域中,我们经常使用卷积神经网络CNN来对图像进行特征提取,当我们使用TensorFlow搭建自己的CNN时,一般会使用TensorFlow中的卷积函数和池化函数来对图像进行卷积和 ...

  5. 一文弄懂Java中线程池原理

    在工作中,我们经常使用线程池,但是你真的了解线程池的原理吗?同时,线程池工作原理和底层实现原理也是面试经常问的考题,所以,今天我们一起聊聊线程池的原理吧. 为什么要用线程池 使用线程池主要有以下三个原 ...

  6. numpy中多维数组的轴(axis)

    多维数组的轴(axis=)是和该数组的size(或者shape)的元素是相对应的: >>> np.random.seed(123) >>> X = np.rando ...

  7. BP反向传播一文弄懂神经网络中的反向传播法

    最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进 ...

  8. 一文弄懂Hive中谓词下推(on与where的区别)

    文章目录 场景模拟 问题描述 Hive谓词下推 谓词下推概念 PPD 配置 基本概念 官网解释 规则总结 规则表 特殊说明 结论 场景模拟 数仓实际开发中经常会涉及到多表关联,这个时候就会涉及到on与 ...

  9. 一文弄懂神经网络中的反向传播法——BackPropagation

    https://www.cnblogs.com/charlotte77/p/5629865.html 最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是 ...

最新文章

  1. java弹出窗放textarea_java中窗体上有一个Button和一个TextArea当鼠标经过按钮上的某一点时在文本框中输出该点的坐标事件...
  2. error C2018: unknown character '0xa1'解决方法
  3. Sqlmap爆库命令的简单使用
  4. 贵州大学计算机专业的导师是谁,贵州大学计算机科学与信息学院导师介绍:王以松...
  5. linux的用户及权限管理,用户及权限管理
  6. uniapp 用户登录
  7. 数论 中国剩余定理(孙子定理)详解
  8. ubuntu20 系统 Apache+花生壳(内网穿透)服务项目上线
  9. abab的四字成语_以abab的四字成语
  10. Android Studio 离线本地 TTS语音合成 Kotlin代码
  11. 计算机网络16进制地址,计算机内存地址和为什么用16进制?
  12. 线性渐变 `-webkit-linear-gradient`
  13. Windows系统文件类型大全
  14. AVProVideo☀️九、“今朝若能同淋雪,此生也算共白头”。一曲《南山雪》,学习给视频做字幕。
  15. mysql udf 执行命令_mylab_sys_exec UDF调用mysql外部系统命令(For linux)
  16. 罗克韦尔L85E plc程序下载和上载
  17. 有限状态机 FSM 是什么?
  18. Python+tkinter+Treeview模拟表格并设置字体和颜色
  19. 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)
  20. 力扣——374. 猜数字大小(java)

热门文章

  1. 解决夜神模拟器无法联机调试 adb server version (**) doesn't match this client (**); killing...
  2. 【数据库原理及应用】经典题库附答案(14章全)——第四章:关系系统及其优化
  3. C语言之struct A *b和struct A c区别
  4. Android之INSTALL_FAILED_INSUFFICIENT_STORAG解决办法
  5. 怎样理解Linux的文件系统
  6. ctf镜子里面的世界_帮大爷干活,他送了我一只鞋子和一手套,又不能穿拿来做什么?哈哈哈|叶子|镜子|虫子|鞋子|棺材...
  7. mysql分页存储过程 分页查询语句_分页存储过程(用存储过程实现数据库的分页代码)...
  8. 为什么越来越多的人消失在朋友圈?
  9. 没有什么是日本牛郎店做不到的......
  10. 谈谈女友卸妆后的感受?