python numpy sum函数,numpy.sum()的使用详解

numpy的sum函数可接受的参数是:

sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)

在参数列表中:

a是要进行加法运算的向量/数组/矩阵

axis的值可以为None,也可以为整数和元组

其形参的注释如下:

a : array_like elements to sum.

a:用于进行加法运算的数组形式的元素

axis : None or int or tuple of ints, optional

Axis or axes along which a sum is performed.

The default, axis=None, will sum all of the elements of the input array.

If axis is negative it counts from the last to the first axis.

If axis is a tuple of ints, a sum is performed on all of the axes

specified in the tuple instead of a single axis or all the axes as before.

根据上文,可知:

axis的取值有三种情况:1.None,2.整数, 3.整数元组。

(在默认/缺省的情况下,axis取None)

如果axis取None,即将数组/矩阵中的元素全部加起来,得到一个和。

Example:

>>> np.sum([0.5, 1.5])

2.0

>>> np.sum([0.5, 0.7, 0.2, 1.5], dtype=np.int32)

1

>>> np.sum([[0, 1], [0, 5]])

6

如果axis为整数,axis的取值不可大于数组/矩阵的维度,且axis的不同取值会产生不同的结果。

先以2×2的二维矩阵为例:

>>> np.sum([[0, 1], [0, 5]], axis=0)

array([0, 6])

>>> np.sum([[0, 1], [0, 5]], axis=1)

array([1, 5])

在上述例子中

当axis为0时,是压缩行,即将每一列的元素相加,将矩阵压缩为一行

当axis为1时,是压缩列,即将每一行的元素相加,将矩阵压缩为一列(这里的一列是为了方便理解说的,实际上,在控制台的输出中,仍然是以一行的形式输出的)

具体理解如图:

e43c6891950eea374b825efb6a1acdac.png

当axis取负数的时候,对于二维矩阵,只能取-1和-2(不可超过矩阵的维度)。

当axis=-1时,相当于axis=1的效果,当axis=-2时,相当于axis=0的效果。

如果axis为整数元组(x,y),则是求出axis=x和axis=y情况下得到的和。

继续以上面的2×2矩阵为例

>>>np.sum([[0,1],[0,5]],axis=(0,1))

>>>6

>>>np.sum([[0,1],[0,5]],axis=(1,0))

>>>6

另外,需要注意的是:如果要输入两个数组/矩阵/向量进行相加,那么就要先把两个数组/矩阵/向量用一个括号括起来,形成一个元组,这样才能够进行相加。因为numpy.sum的运算实现本质是通过矩阵内部的运算实现的。

当然,如果只是向量/数组之间做加法运算,可以直接让两个向量/数组相加,但前提是它们必须为numpy的array数组才可以,否则只是单纯的列表相加

Example:

>>>v1 = [1, 2]

>>>v2 = [3, 4]

>>>v1 + v2

[1, 2, 3, 4]

>>>v1 = numpy.array[1, 2]

>>>v2 = numpy.array[3, 4]

>>>v1 + v2

[4, 6]

到此这篇关于numpy.sum()的使用详解的文章就介绍到这了,更多相关numpy.sum()使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云栖专辑 | 阿里开发者们的第9个感悟:脱离产品价值,是难以出创造性的代码的

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

提升沟通效率52%  阿里政务钉钉助力政府数字化转型

阿里云广东峰会期间,阿里巴巴政务钉钉事业部总经理叶军表示,在浙江省试点应用政务钉钉期间,政府人员沟通效率提高了52%。政务钉钉是在线政务协同平台,它整合了政务专属通讯录、千人千面的工作台、智能会议、移动办公等诸多功能&am…

十余位权威专家深度解读,达摩院2019十大科技趋势点燃科技热情

2019年的第一个工作日,阿里巴巴达摩院重磅发布了2019十大科技趋势,引发社会各界对未来科技的讨论和向往。这一发布同样引来科学界的普遍关注。来自包括中科院、清华大学、佛罗里达大学、杜克大学等权威学术机构的十余位专家就此发表评论,深度…

python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++

题目描述输入一个链表,输出该链表中倒数第k个结点。思路假设链表中的节点数大于等于k个,那么一定会存在倒数第k个节点,首先使用一个快指针先往前走k步,然后两个指针每次走一步,两个指针之间始终有k的距离,当…

云栖专辑 | 阿里开发者们的第10个感悟:产品经理最优秀的能力,是框架思维,脑海中有蓝图

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

解决window的bat脚本执行出现中文乱码的问题

解决: 1.使用windows自带的记事本编辑,然后另存的时候,可选择编码方式即可。 2.在代码里修改执行时的编码格式: echo off REM 后续命令使用的是:UTF-8编码 chcp 65001 echo 中文测试 pause

Dubbo作者亲述:那些辉煌、沉寂与重生的故事

摘要: Dubbo 这个名字,最后会变成一个 Apache 的商标,会成为一个在 GitHub 上有 2 万多人关注、一百多人参与贡献的超级项目。 梁飞在 2011 年开源 Dubbo 这个项目的时候,完全没有想过,Dubbo 这个名字,最后…

阿里云提出“云+Fintech”新金融战略 已助上万家金融机构上云

“云是不可逆转的大战略。”12月3日,阿里云智能新金融事业部总经理刘伟光在2019阿里云广东峰会上表示,“云Fintech”将成为数字金融时代的新基础设施,阿里云已整合蚂蚁金服金融科技开放业务能力,利用全栈式金融级技术方案助力金融…

基于Kubernetes 的机器学习工作流

介绍 Pipeline是Kubeflow社区最近开源的一个端到端工作流项目,帮助我们来管理,部署端到端的机器学习工作流。Kubeflow 是一个谷歌的开源项目,它将机器学习的代码像构建应用一样打包,使其他人也能够重复使用。 kubeflow/pipeline…

puppet php,puppet入门实践

版本选择本来是要选择一个最新版本(当时最新版本是4.3),怎奈官方的yum仓库(https://yum.puppetlabs.com/)中没有最新版本;至少看起来没有4.3;有的是:facter-1.6........facter-2.4........hira-1......mcollective-2......mcollec…

Jmeter 使用脚本 生成html测试报告

每次都要删除jtl文件和report文件夹麻烦,可以写一个bat批处理文件,每次想输出测试报告时,执行下bat文件就可以了,新建一个2.txt文件,输入如下内容,然后将文件改为2.bat echo off REM 纽约约会接口性能测试…

Apache Flink,流计算?不仅仅是流计算!

阿里妹导读:2018年12月下旬,由阿里巴巴集团主办的Flink Forward China在北京国家会议中心举行。Flink Forward是由Apache软件基金会授权的全球范围内的Flink技术大会,2015年开始在德国柏林举办,今年第一次进入中国。 今天&#x…

阿里云数字政府市场份额第一,同比增速102.57%

12月3日,阿里云峰会广东期间,阿里巴巴副总裁、阿里云智能数字政府事业部总裁许诗军表示,目前阿里云已成为中国数字政府大数据整体市场第一,也是数字政府大数据基础平台软件市场第一。 近日,IDC发布了《中国数字政府大数…

oracle调整显示长宽,Oracle设置SQLPlus结果显示的宽度,ORACLE sqlplus提示符设置

一、SQLPlus查询的结果,可以根据自己的屏幕情况进行调节:我们知道sqlplus模式下,select查询的时候经常会遇到返回的记录折行,这时候我们往往会设置行宽,列宽和页面记录。设置行宽:set linesize 200 表示行宽被设置为20…

Jmeter 监控多台服务器CPU、内存、i/o等资源

文章目录1. 插件下载2. 移动插件3. 重启jmeter验证4. 选择监控参数5. 安插卧底6. 启动7. 连接远程1. 插件下载 链接JMeterPlugins-Standard-1.4.0.zip 提取码5utu 链接ServerAgent-2.2.1.rar提取码9ivy 2. 移动插件 解压JMeterPlugins-Standard-1.4.0.zip,将其中…

云栖专辑 | 阿里开发者们的第11个感悟:拥抱变化,用正确的方法对待工作

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

一份关于kaggle特征构建技巧和心得

在很长的一段时间里,我们表现出缺乏创造力,所做出的工作被认为是山寨、借鉴,这一点是不可否认,但随着自身的积累,厚积薄发,完成了从借鉴到创造的突破。创造力是我们工作的基本要素之一,这点在各…

Jmeter 生成HTML性能测试报告

文章目录一、生成HTML测试报告的两种方式1.1. 利用已有.jtl文件生成报告1.2. 无.jtl文件生成测试报告二、图表信息详解2.1. Dashboard(概览仪表盘)2.2. Charts(详细信息图表)2.3. Over Time2.4. Throughput2.5. Response Times一、…

分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑

d_fct是分区表,设了并行,字段time_day 按天分区。下列语句执行计划上看,确实走了并行,INDEX FAST FULL SCAN,这个是全扫了整个表呢?还是一个分区呢? Pstart和Pstop都是2711,是说第27…