python cumsum函数的具体使用


Posted in Python onJuly 29, 2019

这个函数的功能是返回给定axis上的累计和函数的原型如下:详见 doc

 numpy.cumsum(a, axis=None, dtype=None, out=None)
    Return the cumulative sum of the elements along a given axis.

官方的文档是没有详细解释,本人做了测试自己把理解的写下。

1.对于一维输入a(可以是list,可以是array,假设a=[1, 2, 3, 4, 5, 6, 7] ,就是当前列之前的和加到当前列上,如下:

>>>import numpy as np
>>> a=[1,2,3,4,5,6,7]
>>> np.cumsum(a)
array([ 1,  3,  6, 10, 15, 21, 28, 36, 45, 55, 75, 105])

2.对于二维输入a,axis=0(第1行不动,将第1行累加到其他行);axis=1(进入最内层,转化成列处理。第1列不动,将第1列累加到其他列),如下:

>>>import numpy as np
>>> c=[[1,2,3],[4,5,6],[7,8,9]]
>>> np.cumsum(c,axis=0)
array([[ 1, 2, 3],
    [ 5, 7, 9],
    [12, 15, 18]])
>>> np.cumsum(c,axis=1)
array([[ 1, 3, 6],
    [ 4, 9, 15],
    [ 7, 15, 24]])

3.对于三维输入a, axis=0 (第1行不动,将第1行累加到其他行); axis=1(进入第2层,每个第二层第1行不动,累加到其他行); axis=2(进入最内层,转化成列处理。第1列不动,将其累加到其他列),注意维数从外到内是0-2编号,如下:

>>>import numpy as np
>>> a
[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 20, 30]]]
>>> np.cumsum(a,axis=0)
array([[[ 1, 2, 3],
    [ 4, 5, 6]],
 
    [[ 8, 10, 12],
    [14, 25, 36]]])
>>> np.cumsum(a,axis=1)
array([[[ 1, 2, 3],
    [ 5, 7, 9]],
 
    [[ 7, 8, 9],
    [17, 28, 39]]])
>>> np.cumsum(a,axis=2)
array([[[ 1, 3, 6],
    [ 4, 9, 15]],
 
    [[ 7, 15, 24],
    [10, 30, 60]]])

a是一个 2 x 2 x 3 的 list,解释起来有点麻烦,先把 a 变种风格

[ //axis=0
       [//axis=1。同时是axis=0所对应的第 1 行,注意是此中括号包含的整个内容
          [1, 2, 3], //axis=2。同时是 axis=1所对的第1行
          [4, 5, 6] //axis=2
       ],
       [//axis=1。同时是axis=0所对应的第 2行
          [7, 8, 9], //axis=2。同时是 axis=1所对的第1行
          [10, 20, 30] //axis=2
       ],
   ]

axis=0说明,第1维度,包含2行,绿色中括号的list,第1行(也就是由1,2,3,4,5,6组成的list)不动,累加到第二行,注意是累加
axis=1说明,第2维度,  每个绿色中括号里第1行不变,也就是 [1,2,3]和[7,8,9]不动,累加到同兄弟行(同属一个中括号的行)
axis=2说明,第3维度,也是最内层,转化成列处理,紫色数字所在列不动,累加到其他列上

对于更高维度,可以参考3维来从外向内剥离的方式理解

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python读取Excel的方法实例分析
Jul 11 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
python正则表达式re之compile函数解析
Oct 25 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
python查看模块,对象的函数方法
Oct 16 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
python实现爬取百度图片的方法示例
Jul 06 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
pytorch通过训练结果的复现设置随机种子
Jun 01 Python
python利用re,bs4,requests模块获取股票数据
Jul 29 #Python
实例详解Python装饰器与闭包
Jul 29 #Python
对于Python深浅拷贝的理解
Jul 29 #Python
PyCharm中代码字体大小调整方法
Jul 29 #Python
python pandas cumsum求累计次数的用法
Jul 29 #Python
详解Python用三种方式统计词频的方法
Jul 29 #Python
Django框架视图层URL映射与反向解析实例分析
Jul 29 #Python
You might like
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
Python----数据预处理代码实例
2019/03/20 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
Python远程方法调用实现过程解析
2020/07/28 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
留学自荐信的技巧
2013/10/17 职场文书
应届护士推荐信
2013/11/16 职场文书
门卫岗位安全职责
2013/12/13 职场文书
个人工作表现评价材料
2014/09/21 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
刑事起诉书范文
2015/05/19 职场文书
心理健康教育主题班会
2015/08/13 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL