numpy.sum()的使用详解
作者:Leekingsen 发布时间:2023-01-04 15:19:24
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时,是压缩列,即将每一行的元素相加,将矩阵压缩为一列(这里的一列是为了方便理解说的,实际上,在控制台的输出中,仍然是以一行的形式输出的)
具体理解如图:
当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]
来源:https://blog.csdn.net/Leekingsen/article/details/76242244


猜你喜欢
- 本文实例为大家分享了js实现弹幕特效的具体代码,供大家参考,具体内容如下此处使用HBuilder编译,最简单的弹幕效果,希望各位前辈不吝指教
- 目录1、发送get请求2、发送post请求3、发送https请求4、文件上传5、文件下载6、timeout超时7、鉴权7.1、auth参数鉴
- shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使
- mysql创建用户并授权:格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密
- 练手项目,先上图先实现一个简单的串口工具,为之后的上位机做准备代码如下:github 下载地址pyserial_demo.pyimport
- 一、Go interface 介绍interface 在 Go 中的重要性说明interface 接口在 Go 语言里面的地位非常重要,是一
- #-*- coding: utf-8 -*-import win32api,win32gui, win32conimport osimpor
- Python基本内置数据类型有哪些一些基本数据类型,比如:整型(数字)、字符串、元组、列表、字典和布尔类型。随着学习进度的加深,大家还会接触
- 本文实例为大家分享了python3磁盘空间监控的具体代码,供大家参考,具体内容如下软硬件环境python3apscheduler前言在做频繁
- 概念django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(sen
- OVER的定义OVER用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的
- 认证支持中间件中间件类: django.contrib.auth.middleware.AuthenticationMiddleware .
- 前言今天给大家分享一些Python的基础知识,想要盖好大房子,不把地基打扎实打牢怎么行呢?所以,今天咱们就来学习基础知识,这样后期学习Pyt
- tf.keras.layers模块中的函数from __future__ import print_function as _print_f
- <%@ transaction = required %><%response.b
- 目录1 figure1.1 创建figure1.2 figure的常用设置1.2.1 set方法通用设置1.2.2 设置figure标题1.
- 1.在 utils 文件中新建 mcaptcha.js 文件,写入以下代码:module.exports = class Mcaptcha
- 简介MySQL通过复制(Replication)实现存储系统的高可用。目前,MySQL支持的复制方式有:异步复制(Asynchronous
- 今天给大家分享小编遇到的一个坑有关python递归调用中的坑:打印有值, 返回却None问题。问题:前几天写一个小面试题, 忽然有个惊悚的发
- Bottle是一个快速、简洁、轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其