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 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
python遍历小写英文字母的方法
Jan 02 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
python学生管理系统学习笔记
Mar 19 Python
Python中一个for循环循环多个变量的示例
Jul 16 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
python 模拟登陆163邮箱
Dec 15 Python
TensorFlow的自动求导原理分析
May 26 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
js实现iframe动态调整高度的代码
2008/01/06 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
Python日期的加减等操作的示例
2017/08/15 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
详解python 注释、变量、类型
2018/08/10 Python
Python pandas库中的isnull()详解
2019/12/26 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
新浪网技术部笔试题
2016/08/26 面试题
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
C# Debug和Testing相关面试题
2015/10/25 面试题
中级会计职业生涯规划书
2014/03/01 职场文书
超市促销活动总结
2014/07/01 职场文书
就业意向书
2014/07/29 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书