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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
Python中优化NumPy包使用性能的教程
Apr 23 Python
Python实现简易Web爬虫详解
Jan 03 Python
Python编程求质数实例代码
Jan 31 Python
Python切片操作实例分析
Mar 16 Python
python中的&&及||的实现示例
Aug 07 Python
使用pyqt 实现重复打开多个相同界面
Dec 13 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
python实现程序重启和系统重启方式
Apr 16 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 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
深入了解php4(2)--重访过去
2006/10/09 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
PHP引用返回用法示例
2016/05/28 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
JQUBar 基于JQUERY的柱状图插件
2010/11/23 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
python实现线程池的方法
2015/06/30 Python
python 写的一个爬虫程序源码
2016/02/28 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Python中如何导入类示例详解
2019/04/17 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
管理建议书范文
2014/05/13 职场文书
中职招生先进个人材料
2014/08/31 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书