Python Numpy多维数组.sum(axis=0/1/2…) 详解

numpy中axis取值的说明

首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维数越高,则axis可取的值越大,数组n维时,axis=0,1,…,n。为了方便下面的理解,我们这样看待:在numpy中数组都有着[]标记,则axis=0对应着最外层的[ ]axis=1对应第二外层的[ ],以此类推,axis=n对应第n外层的[ ]

下面是一个典型三维数组的例子:

因为opencv中的图片是三维数组,三维数组具有代表性,所以选取三维数组为例子。

import numpy as np
#0-27,步长为1 的整数
n = np.arange(0, 27, 1)
# 生成3行3列3层的矩阵
n = n.reshape(3,3,3)
#最外层求和
a = n.sum(axis=0)
#中间层求和
b = n.sum(axis=1)
#最内层求和
c = n.sum(axis=2)

axis=0求和过程展示:

  n: [[[ 0  1  2][ 3  4  5][ 6  7  8]]+         +         +[[ 9 10 11][12 13 14][15 16 17]]+         +         +[[18 19 20][21 22 23][24 25 26]]]=         =         =a:  [[27 30 33][36 39 42][45 48 51]]

axis=1求和过程展示:

  n: [[[ 0  1  2] + [ 3  4  5] + [ 6  7  8]][[ 9 10 11] + [12 13 14] + [15 16 17]][[18 19 20] + [21 22 23] + [24 25 26]]]b: [[ 9 12 15][36 39 42][63 66 69]]

axis=2求和过程展示:

  n: [[[ 0 + 1 + 2] + [ 3 + 4 + 5] + [ 6 + 7 + 8]][[ 9 +10 +11] + [12 +13 +14] + [15 +16 +17]][[18 +19 +20] + [21 +22 +23] + [24 +25 +26]]]c:  [[     3             12             21    ][    30             39             48    ][    57             66             75    ]]

Python Numpy多维数组.sum(axis=0/1/2...) 详解相关推荐

  1. python numpy ufunc.reduce(self, a, axis=0, dtype=None, out=None, keepdims=False)函数.(连续执行原始运算对值聚合)

    def reduce(self, a, axis=0, dtype=None, out=None, keepdims=False): # real signature unknown; restore ...

  2. Python numpy 多维数组切片

    import numpy as npnp.random.seed(1234) A = np.random.randint(0, 6,(5,3)) #生成10行3列数值在[0,6)的随机数组 print ...

  3. 多维数组与指针之间的关系详解

    先介绍一下简单的一维数组: 列如: int a[3] = {0,1,2}; [3]和类型int则明确表示编译器应该为这个栈分配多大的内存,也就是三个int大小! 在内存中示意图是: 在CPU看来内存是 ...

  4. 二维数组和指针之间的关系详解

    一.引言 说起二维数组可能首先想到的是各种嵌套的for循环,二维数组的初始化,二维数组的赋值,二维数组的输出等各种问题,当然了,数组的问题永远离不开指针,而二维数组所能联系到的就是二维指针了,此文则是 ...

  5. java二维数组元素_java二维数组,获取整行元素详解

    之前给大家讲过java二维数组获取单个元素方面的知识,下面的话就来给大家讲一下java二维数组获取整行元素方面的知识. 除去获取单个元素和全部元素之外,还可以单独获取二维数组的某一行中所有元素的值,或 ...

  6. python numpy 二维数组reshape成三维数组

    如下: >>> a = np.arange(20) >>> a.reshape((4,5)) array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, ...

  7. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  8. 实践是检验真理的唯一标准之python array.sum(axis=0)

    下图将带你学习array.sum()中axis的用法: 1.二维数组 说明: 首先导入numpy库,声明一个两行三列array数组 参数axis=0:把所有行的对应列进行相加: 参数axis=1:把每 ...

  9. 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法

    对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值: axis = 0 代表对横轴操作,也就是第0轴: axis = 1 代表对纵轴操作,也就是第1轴: nu ...

最新文章

  1. 我作为Java后端,分享一下入门Spark编程的经历!
  2. 使用POI创建word表格-在表格单元格中创建子表格
  3. java 链接为分布式 hbase,hbase学习记录(一):hbase伪分布式安装
  4. Linux磁盘管理1
  5. 2_RabbitMQ工作模式_Work queues_Publish/Subscribe_Routing_Topics_HeaderRpc
  6. 官宣!又一所新大学来了!
  7. 信息系统状态过程图_操作系统中的增强型过程状态图
  8. BATJ原来是这样玩大数据的!
  9. ACE总监侯圣文全面解析特训方法
  10. PHP极其强大的图片处理库Grafika详细教程(4):图形绘制
  11. java实现rabbitmq发布/订阅模型(Publish/Subscribe queues), 生产者 消费者 交换机 消息队列
  12. 淘宝直播视听体验再升级!为主播“安静”带货保驾护航
  13. python就业方向
  14. Material Components(MDC)简单使用介绍
  15. 微型计算机的主机常用部件,组成微型机主机的部件是
  16. 京东自营,你TM太坑了。
  17. CondaUpgradeError: This environment has previously been operated on by a conda version that‘s newer
  18. 【原创】快速估算和管理
  19. jeecgboot功能优化——前端表格换行与不换行
  20. js模糊匹配(like)

热门文章

  1. 2021-7-20 pytorch学习基础笔记
  2. javaScript的运算符和if。。else语句
  3. dom 元素拖拽实现
  4. DeepChem | 基于DeepChem的GCN预测化合物溶解度
  5. RDKit | 基于RDKit通过SMARTS定义反应模式来生成反应产物
  6. 第七课.Python面向对象(一)
  7. harmonyos分层,HarmonyOS开发--1、组件化的设计方案
  8. python文本分类评价指标 top1如何计算_使用paddlehub自定义任务,具体是自定义文本分类任务中的评价指标时按照官方文档的方法做了之后报错了,请问应该如何解决?...
  9. ISME:胡锋/朱永官等揭示土壤噬菌体-宿主菌协同应对有机氯农药胁迫机制
  10. Cytoscape制作带bar图和pie图节点的网络图