在numpy库中,axis轴的问题比较重要,不同的值会得到不同的结果,为了便于理解,特此将自己的理解进行梳理

为了梳理axis,借助于sum函数进行!

  1. a = np.arange(27).reshape((3,3,3))
  2. print(a)
  3. # [[[ 0 1 2]
  4. # [ 3 4 5]
  5. # [ 6 7 8]]
  6. #
  7. # [[ 9 10 11]
  8. # [12 13 14]
  9. # [15 16 17]]
  10. #
  11. # [[18 19 20]
  12. # [21 22 23]
  13. # [24 25 26]]]
  14.  
  15. b = np.sum(a, axis=0)
  16. print(b)
  17. # [[27 30 33]
  18. # [36 39 42]
  19. # [45 48 51]]
  20.  
  21. c = np.sum(a, axis=1)
  22. print(c)
  23. # [[ 9 12 15]
  24. # [36 39 42]
  25. # [63 66 69]]
  26.  
  27. c = np.sum(a, axis=2)
  28. print(c)
  29. # [[ 3 12 21]
  30. # [30 39 48]
  31. # [57 66 75]]

从该内容上总结

1 - axis 的取值必须与 a.shape() 的 len() 值相对应,当axis的值超过时会报错,比如该段代码中如果axis = 3 ,则会报错。

2 - a.shape() 的值是从外向里算的;也即,

第一个方括号 [ ] 中的 子方括号 [ ] 个数,子方括号中有 3 个,计为 3 ;axis = 0  降其子维,运算子括号 [ ] 内容

每个子方括 [ ] 中均有 3 个子方括 [ ] ,计为 3 ;axis = 1 降其子维,运算其子括号 [ ] 内容,

每个子方括 [ ] 中有 3 个元素,计为 3 ; axis = 2 降其子维,其括号内进行运算

3 - 每计算求和一次,要降一维。消灭子维。

numpy 中的axis轴问题的更多相关文章

  1. [开发技巧]·Numpy中对axis的理解与应用

    [开发技巧]·Numpy中对axis的理解与应用 1.问题描述 在使用Numpy时我们经常要对Array进行操作,如果需要针对Array的某一个纬度进行操作时,就会用到axis参数. 一般的教程都是针 ...

  2. Python数据分析中 DataFrame axis=0(0轴)与axis=1(1轴)的理解

    python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列? 直接上代码people=DataFrame(np.random.randn(5,5), columns=['a ...

  3. Python Pandas与Numpy中axis参数的二义性

    Stackoverflow.com是程序员的好去处,本公众号将以pandas为主题,开始一个系列,争取做到每周一篇,翻译并帮助pandas学习者一起理解一些有代表性的案例.今天的主题就是Pandas与 ...

  4. 关于NumPy中数组轴的理解

    参考原文链接(英文版):https://www.sharpsightlabs.com/blog/numpy-axes-explained/:中文版:https://www.jianshu.com/p/ ...

  5. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  6. numpy中的方差、协方差、相关系数

    一.np.var 数学上学过方差:$$ D(X)=\sum_{i\in [0,n)} ({x-\bar{x}})^2 $$ np.var()实际上是均方差,均方差的意义就是将方差进行了平均化,从而使得 ...

  7. numpy中数据合并,stack ,concentrate,vstack,hstack

    在python的numpy库中有一个函数np.stack(), 看过一些博文后觉得别人写的太复杂,然后自己有了一些理解之后做了一些比较简单的解释 np.stack 首先stack函数用于堆叠数组,其调 ...

  8. numpy中的ndarray方法和属性

    原文地址 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是 ...

  9. numpy中min函数

    numpy提供的数组功能比较常用,NumPy中维数被称为轴,轴数称为秩. import numpy as np 比如a = np.array([[1, 5, 3], [4, 2, 6]]) a.min ...

随机推荐

  1. Active Directoty域服务安装

    运行dcpromo命令,打开“Active Directoty域服务安装向导”

  2. Docker镜像保存save、加载load

    (1)查看要要保存的镜像的ID [root@localhost docker]# docker images (2)保存镜像 [root@localhost docker]# docker save  ...

  3. SQL与SQL Server

    SQL--关系数据库的国际标准语言. SQL Server--著名的数据库管理系统.其他著名的数据库管理系统还有Oracle.Sybase等,它们都实现了SQL语言.   在SQL中,完成所有核心功能 ...

  4. 请用js去除字符串空格?

    方法一:使用replace正则匹配的方法 去除所有空格: str = str.replace(/\s*/g,""); 去除两头空格: str = str.replace(/^\s* ...

  5. Jquery为动态添加的未来元素绑定事件

    语法: $(selector).on(event,childSelector,data,function) event:必需.规定要从被选元素移除的一个或多个事件或命名空间.由空格分隔多个事件值,也可 ...

  6. Flash 加密和破解

    关于Flash(swf),我们需要明确一点: ***Flash字节码的意义都是公开的 所以如果cracker真的有足够的耐心他最终还是可以破解掉你的Flash.我们能做的只是尽量提高Flash被破解的 ...

  7. Linux Shell 下载网站指定文件

    Shell脚本,用来从网站下载指定文件名的文件.先判断本地这个文件是否存在,如果存在则忽略,不存在则从远程服务器上下载,下载成功后本地的批次号累加1,然后使用新的批次号继续下载新文件. #!/bin/ ...

  8. Ubuntu18.04 运行 Gradle 4.9

    简介 Gradle是一个基于Apache Ant和Apache Maven的项目自动化构建工具, 使用一种基于Groovy的特定领域语言(domain-specific language DSL)来声 ...

  9. Gerrit最简工作流

    Gerrit最简工作流: git clone  ...  //注意clone with commit-msg hook,否则push可能失败(ERROR: missing Change-Id in c ...

  10. ubuntu sublime 破解

    1.去其官方网站http://www.sublimetext.com/ 把linux版下载下来,解开压缩包,放在你希望的路径下. 2.用vim将其打开 . vim sublime_text 3.将文件 ...