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登录Gmail并发送Gmail邮件的教程
Apr 17 Python
python如何为创建大量实例节省内存
Mar 20 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python smtplib实现发送邮件功能
May 22 Python
Flask入门之上传文件到服务器的方法示例
Jul 18 Python
python训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
python中的Elasticsearch操作汇总
Oct 30 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
Django更新models数据库结构步骤
Apr 01 Python
python os.rename实例用法详解
Dec 06 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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实现的获取URL信息的类
2007/01/02 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
python+pyqt实现右下角弹出框
2017/10/26 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
django框架cookie和session用法实例详解
2019/12/10 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
专业技术职务聘任书
2014/03/29 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
党员演讲稿
2014/09/04 职场文书
个人委托书范本汇总
2014/10/01 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
python数字转对应中文的方法总结
2021/08/02 Python