python numpy中cumsum的用法详解


Posted in Python onOctober 17, 2019

Cumsum :计算轴向元素累加和,返回由中间结果组成的数组

重点就是返回值是“由中间结果组成的数组”

以下代码在python3.6版本运行成功!

下面看代码,定义一个2*2*3的数组,所以其shape是2,2,3,索引分别0,1,2

shape 索引
2 0
2 1
3 2

代码:

import numpy as np
arr = np.array([[[1,2,3],[8,9,12]],[[1,2,4],[2,4,5]]]) #2*2*3
print(arr.cumsum(0))
print(arr.cumsum(1))
print(arr.cumsum(2))

输出结果:

#cumsum(0)
[[[ 1  2  3]
  [ 8  9 12]]
 
 [[ 2  4  7]
  [10 13 17]]]
#cumsum(1)
[[[ 1  2  3]
  [ 9 11 15]]
 
 [[ 1  2  4]
  [ 3  6  9]]]
#cumsum(2)
[[[ 1  3  6]
  [ 8 17 29]]
 
 [[ 1  3  7]
  [ 2  6 11]]]

注释:

  • arr是一个2*2*3三维矩阵,索引值为0,1,2
  • cumsum(0):实现0轴上的累加:以最外面的数组元素为单位,以[[1,2,3],[8,9,12]]为开始实现后面元素的对应累加
  • cumsum(1):实现1轴上的累加:以中间数组元素为单位,以[1,2,3]为开始,实现后面元素的对应累加
  • cumsum(2):实现2轴上的累加:以最里面的元素为累加单位,即1为开始,实现后面的元素累加

四维数组实现

下面看一个四维数组2*2*2*4,索引值为0,1,2,3
代码:

import numpy as np
arr = np.arange(32).reshape((2,2,2,4))
print(arr)
print(arr.cumsum(0))
print(arr.cumsum(1))
print(arr.cumsum(2))
print(arr.cumsum(3))
arr:
[[[[ 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 27]
  [28 29 30 31]]]]

arr是一个2*2*2*4四维矩阵,索引值为0,1,2,3

cumsum(0):实现0轴上的累加即:以最外面数组元素为单位即

[[[ 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 27]
  [28 29 30 31]]]]

对应位置元素相加起来

结果:

[[[[ 0 1 2 3]
  [ 4 5 6 7]]
 
 [[ 8 9 10 11]
  [12 13 14 15]]]
 
 
 [[[16 18 20 22]
  [24 26 28 30]]
 
 [[32 34 36 38]
  [40 42 44 46]]]]

cumsum(1):实现1轴上的累加即:以次外面元素为单位,累加:

[[ 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 27]
  [28 29 30 31]]

累计过程产生的中间结果要记录到数组中

所以,结果:

[[[[ 0 1 2 3]
  [ 4 5 6 7]]
 
 [[ 8 10 12 14]     
  [16 18 20 22]]]
 
 
 [[[16 17 18 19]
  [20 21 22 23]]
 
 [[40 42 44 46]
  [48 50 52 54]]]]

cumsum(2)就对应从[ 0  1  2  3]数组元素开始实现累加,然后记录中间结果

cumsum(3)对应的是从最里面最小的数组元素,即从0开始实现累加,记录中间结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中元类用法实例
Oct 10 Python
Python中的super()方法使用简介
Aug 14 Python
用Python写一个无界面的2048小游戏
May 24 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Django REST framework 单元测试实例解析
Nov 07 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
如何在 Django 模板中输出 "{{"
Jan 24 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
windows安装python超详细图文教程
May 21 Python
python用tkinter开发的扫雷游戏
Jun 01 Python
python hashlib加密实现代码
Oct 17 #Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 #Python
python模块常用用法实例详解
Oct 17 #Python
Python 使用元类type创建类对象常见应用详解
Oct 17 #Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
Oct 17 #Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 #Python
Python 3.8正式发布重要新功能一览
Oct 17 #Python
You might like
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Flask框架信号用法实例分析
2018/07/24 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
python 中如何获取列表的索引
2019/07/02 Python
Python装饰器用法与知识点小结
2020/03/09 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
职业生涯规划书的格式
2013/12/29 职场文书
大学生实习思想汇报
2014/01/12 职场文书
加工操作管理制度
2014/01/19 职场文书
临床护理求职信
2014/04/26 职场文书
语文教研活动总结
2014/07/02 职场文书
公司委托书范本5篇
2014/09/20 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
学生退学证明
2015/06/23 职场文书
教师节祝酒词
2015/08/11 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
Django rest framework如何自定义用户表
2021/06/09 Python