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中取整的几种方法小结
Jan 06 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
python之matplotlib学习绘制动态更新图实例代码
Jan 23 Python
win8下python3.4安装和环境配置图文教程
Jul 31 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
利用Python实现Shp格式向GeoJSON的转换方法
Jul 09 Python
使用Python调取任意数字资产钱包余额功能
Aug 15 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
python 基于pygame实现俄罗斯方块
Mar 02 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
分享最受欢迎的5款PHP框架
2014/11/27 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
Python何时应该使用Lambda函数
2019/07/02 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
期末总结的个人自我评价
2013/11/02 职场文书
工厂厂长岗位职责
2013/11/08 职场文书
新领导上任欢迎词
2014/01/13 职场文书
《自然之道》教学反思
2014/02/11 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书