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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
python实现ping的方法
Jul 06 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
教你使用python画一朵花送女朋友
Mar 29 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
浅谈Python基础之列表那些事儿
May 11 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的memcached客户端memcached
2011/06/14 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
js常见遍历操作小结
2019/06/06 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
Django admin美化插件suit使用示例
2017/12/12 Python
Python yield与实现方法代码分析
2018/02/06 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
Python爬虫教程知识点总结
2020/10/19 Python
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
校园新闻广播稿
2014/01/10 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
节能标语大全
2014/06/21 职场文书
工作证明英文模板
2014/10/21 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers