numpy-numpy.sum()中‘keepdims‘参数的作用

第七周python作业 1、第4章-23 求矩阵的局部极大值 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。 我的代码: # -*- coding: utf-8 -*- import numpy as np # 初始化 M, N = map(int, input().split()) matrix = [] count = 0 # 生成矩阵 for _ in range(M): temp 阅读详情

在numpy的许多函数中,会出现'keepdims'参数,以numpy.sum()为例:

官方文档中给出的解释:

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

'''
keepdimsbool, optional
If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.

If the default value is passed, then keepdims will not be passed through to the sum method of sub-classes of ndarray, however any non-default value will be. If the sub-class’ method does not implement keepdims any exceptions will be raised.
'''

看的一脸懵,还是跑个代码来得实在:

a = np.array([[0, 0, 0],
       [0, 1, 0],
       [0, 2, 0],
       [1, 0, 0],
       [1, 1, 0]])
print(a)

'''
输出:
[[0 0 0]
 [0 1 0]
 [0 2 0]
 [1 0 0]
 [1 1 0]]
'''
a_sum_true = np.sum(a, keepdims=True)
print(a_sum_true)
print(a_sum_true.shape)
a_sum_false = np.sum(a, keepdims=False)
print(a_sum_false)
print(a_sum_false.shape)
'''
输出:
[[6]]
(1, 1)
6
()
'''
a_sum_axis1_true = np.sum(a, axis=1, keepdims=True)
print(a_sum_axis1_true)
print(a_sum_axis1_true.shape)
a_sum_axis1_false = np.sum(a, axis=1, keepdims=False)
print(a_sum_axis1_false)
print(a_sum_axis1_false.shape)
'''
输出:
[[0]
 [1]
 [2]
 [1]
 [2]]
(5, 1)
[0 1 2 1 2]
(5,)
'''
a_sum_axis0_true = np.sum(a, axis=0, keepdims=True)
print(a_sum_axis0_true)
print(a_sum_axis0_true.shape)
a_sum_axis0_false = np.sum(a, axis=0, keepdims=False)
print(a_sum_axis0_false)
print(a_sum_axis0_false.shape)
'''
输出:
[[2 4 0]]
(1, 3)
[2 4 0]
(3,)
'''

如果并不指定'axis'参数,输出的结果是相同的,区别在于当' keepdims = True'时,输出的是2D结果。

如果指定'axis'参数,输出的结果也是相同的,区别在于'keepdims = True'时,输出的是2D结果。

可以理解为'keepdims = True'参数是为了保持结果的维度与原始array相同。

 

参考:

https://stackoverflow.com/questions/39441517/in-numpy-sum-there-is-parameter-called-keepdims-what-does-it-do

NumPy `numpy.sum()` 深度解析:多维数组求和的艺术与维度控制 本文系统介绍了NumPy中np.sum()函数的核心功能与应用。文章首先阐述了np.sum()在科学计算中的重要性,对比了其与Python内置sum()的区别,强调其在多维数组处理、轴向控制和性能上的优势。重点解析了关键参数:axis控制求和方向,keepdims保留维度,dtype防止溢出,并通过2D、3D数组示例详细演示了不同轴向求和的效果。此外还介绍了该函数在数据统计、机器学习和图像处理等场景的应用,以及与其他聚合函数的对比。最后总结了使用最佳实践,帮助读者全面掌握这一数组聚合的核心工具。 阅读详情

相关推荐

C语言中最基本的输入输出

在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

Junds0的博客 762

第四章 Python基本输入与输出

第四章 Python基本输入与输出 注:本博客为 《python 王者归来》学习笔记,如有版权问题请通知删除 4-1 python 的辅助说明 help() help() 函数可以列出某一个 python 的指令或函数的使用说明。 help(print) #输出结果 Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdo

ihuxh26556的博客 1064

C语言之输入输出

标准 ASCII 码也叫基础 ASCII 码,使用 7 位二进制数(剩下的 1 位二进制为 0 )来表示所有的大写和小写字母,数字 0 到 9 、标点符号, 以及在美式英语中使用的特殊控制字符。例如像 a 、 b 、 c 、 d 这样的 52 个字母(包括大写)、以及 0 、 1 等数字还有一些常用的符号(例如 * 、 # 、 @ 等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码)。任何数据在计算机内存中都是以二进制的形式存放的。

Junds0的博客 1727

头歌教学实践平台(高级程序语言设计(c))

目录一、顺序结构程序(二)1、输出字符的ASCII码2、看看你的成绩3、相反次序重新组合4、一元二次方程的根二、选择结构程序设计1、排序2、选择结构-闰年判断3、选择结构-分段函数问题 4、学生成绩等级换算三、选择结构程序设计进阶1、快递费用计算 2、计算一元二次方程的根3、产品信息格式化四、循环结构程序设计(1)1、小球自由落体运动2、求解出n以内所有能被5整除的正整数的乘积3、最大公约数和最小公倍数4、字符串中各类字符数的统计5、求sn=a+aa+aaa+aaaa+......的值五、循环结构程序设计(

westerbook1的博客 5万+

RV1126B RV1126B-P 瑞芯微 高性能视觉处理器SoC 芯片

它集成了大量算法加速器,如 HDR、3A、LSC、3DNR、2DNR、锐化、去雾、鱼眼校正、伽马校正、特征点检测等。此外,还配备了一款最多8兆像素的 AI-ISP,作为对传统ISP 的补充,以提供卓越的空间去噪性能和增强的图像增强效果。除了先前的高性能多媒体区块外,RV1126B还包含丰富的音频、内存和其他外围接口,如I2C、SPI、PWM等。借助这-特性,来自相机的视频可以以高分辨率进行编码,并存储在本地内存中,同时还能将另-段较低分辨率的视频传输到云存储。

szhorsway的博客 1860

C#菜鸟教程学习笔记

C#菜鸟教程学习笔记 C#简介 C# 是一种编程语言,它是由微软开发的。 C# 编程是基于 C 和 C++ 编程语言的,它与 Java 也非常相似。 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。 .Net 框架(.Net Framework)能编写出下面类型的应用程序: ①Windows 应用程序 ②Web 应用程序 ③Web 服务 常用的C# 编程的开发工具:Visual Studio(VS:可视化工作室) C#程序结构 一个 C# 程序(C# 文件的后缀为 .cs)主要包括以下部分

mlc_WTMOTW的博客 4978

numpy中的keepdims参数

在keepdims设置为True时,np.sum()返回一个具有与输入A相同数目的轴的数组,而这些轴中有一个的长度始终为1。例如,假设我们有一个四维数组B,形状为(4,3,2,1),我们想要计算B中的元素平均值。例如,假设我们有一个三维数组C,它的形状为(2,3,4),我们想要计算C中的最大值。在这里,我们可以看到输出数组使用相同的形状(2,3,4),并将轴(0,1)的最大值保留。因此,输出的结果是一个形状为(1,1,4)的数组,它具有与输入数组C第三维相同的形状。这个脚本的输出结果是(1,1,1,1)。

laosao_66的博客 2180

《哥谭神话-工程篇》01.Palantir 平台架构解析-混乱数据如何转化唯一真相源?

Palantir 平台的架构哲学可以概括为将洞察落地为行动,其核心是将“获取唯一真相”能力深度嵌入现有的、复杂的工作流程中,成为提升运营效率和决策质量的倍增器。

897

Python NumPy中sum()函数详解 axis与keepdims图解

目录 numy.sum()函数定义与说明 代码示例、说明及输出 axis = 0 或axis = -3 axis = 1 或 axis = -2 axis = 2或axis = -1 axis = (0, 2) axis = (0, 2),keepdims=True 总结与扩展 经常使用NumPy的小伙伴会遇...

bylfsj的博客 2711

Windows摄像头错误0xA00F4240根因与注册表修复指南

Windows摄像头错误码0xA00F4240常被误判为硬件故障,实则源于UWP应用模型下权限调用链断裂——核心是COM组件调用失败(HRESULT 0x80004003),本质反映Windows Runtime API对注册表策略键值(如CapabilityAccessManager\ConsentStore\webcam)的强依赖。该机制涉及服务状态、DWORD权限配置、ACL继承控制等多层校验,任一环节异常(如ValueLastModified时间戳损坏或ALL APPLICATION PACKAGE

weixin_31742871的博客 385

Windows下用Docker快速搭建SearXNG私有搜索引擎(附Dify集成配置)

本文详细介绍了在Windows环境下使用Docker快速搭建SearXNG私有搜索引擎的完整流程,包括环境准备、容器化部署、安全配置优化以及与Dify平台的深度集成方法。通过分步指导和实用配置示例,帮助开发者构建兼具隐私保护和AI增强能力的本地化搜索解决方案,特别适合需要定制化搜索服务的应用场景。

weixin_30300225的博客 336

python concat axis_Python NumPy中sum()函数详解 axis与keepdims图解

目录numy.sum()函数定义与说明代码示例、说明及输出axis = 0 或axis = -3axis = 1 或 axis = -2axis = 2或axis = -1axis = (0, 2)axis = (0, 2),keepdims=True总结与扩展经常使用NumPy的小伙伴会遇到axis与keepdims这两个参数,今天笔者来给大家解剖一下。以NumPy中sum()函数为例,【】里为...

weixin_39884100的博客 411

YOLOv改进 | YOLOv11更换主干Backbone之MobileNetV2(轻量化主干网络结构--高效轻量移动模型)

本文提出将YOLOv11的主干网络替换为轻量化的MobileNetV2,以提升模型在移动端设备的部署效率。MobileNetV2通过倒残差结构和线性瓶颈层,显著减少了计算量和参数量(降至1M~3M),同时保持多尺度特征提取能力。实验表明,改进后的模型在移动设备上可实现20-30 FPS的实时检测,适用于手机APP、无人机和工业监控等场景。核心代码展示了倒残差块的实现,通过深度可分离卷积和通道扩展/压缩实现高效特征提取。

走向CTO的路上... 1461

NumPy学习笔记(六)——sum()函数

在元素(数组)累加的时候,可以使用此函数进行累加,非常方便我们先来看一下全部的参数sum(a, axis, dtype, out, keepdims, initial, where)第一个参数是是传入/输入的数组元素沿轴使用(可选填,默认为数组的展平成一维形式,即0,1,2,3,4…等)aixs为0与1时的方向如图所示上个代码小例子 3)dtype(可选) 默认为:numpy.float64我们也可以进行修改比如我们常用的dtype = numpy.int32具体使用整数类型或者精度要根据情况来选择比如有关

ac不知深的博客 2963

【用unity实现100个游戏之2】复刻实现经典2d平台跳跃游戏《蔚蓝 Celeste》(附工程源码)

蔚蓝》是一款备受好评的独立游戏,由游戏开发工作室开发并由发行。这款游戏于2016年首次发布,并在玩家和评论界收获了广泛赞誉。蔚蓝以其独特的艺术风格和引人入胜的故事而著称。游戏以深海为背景,玩家将扮演一个能够探索水下世界的神秘生物。游戏通过惊人的视觉表现和动态的海洋生态系统为玩家带来了令人难忘的游戏体验。无论是广阔的水下景观还是充满生机的海洋生物,蔚蓝都让玩家感受到深海的神秘和美丽。蔚蓝在玩法上注重探索和解谜。玩家可以在海底环境中自由游动,发现隐藏的地点和秘密,与各种生物互动,并解决环境谜题以继续前进。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4167

美特CRM mcc_login.jsp存在SQL注入漏洞

MetaCRM 是一种现代化的客户关系管理(CRM)平台,旨在通过集成和自动化的方式帮助企业管理与客户的关系,提高销售和服务效率。MetaCRM 的功能和特性通常涵盖了多个领域,包括销售、营销、客户服务、数据分析和自动化工具。

缘梦未来的博客 808

python sum axis_稍微了解一下numpy.sum()中的axis

使用NumPy模块时,经常会用到numpy.sum()函数,比如计算一个多维数组(ndarray)的所有元素之和:当我用NumPy实现神经网络时,遇到一个问题,我需要计算一个二维ndarray每一列的元素和,于是乎我去看numpy.sum()函数的文档 :numpy.sum(a,axis=None,dtype=None,out=None,keepdims=,initial=)文档中对sum函数只用...

weixin_32830601的博客 309

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

对于numpy库中sum函数使用

菜鸟自用笔记

weixin_43891729的博客 315

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python中numpy.sum()函数

众所周知,sum不传参的时候,是所有元素的总和。这里就不说了。 假设我生成一个numpy数组a,如下 这是一个拥有两维的数组,每一维又拥有三个数组,这个数组里面拥有四个元素。如果我们要将这个a数组中的第一个元素1定位出来,则我们会输入a[0][0][0]。好,这个axis的取值就是这个精确定位某个元素需要经过多少数组的长度,在这里是3,,所以axis的取值有0,1,2。如果一...

python学习者的博客 3万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

生动理解numpy.sum()以及其axis参数

转自:https://zhuanlan.zhihu.com/p/48871067 个人学习收藏,侵删 -------------------------------------------------------------------------- 使用NumPy模块时,经常会用到numpy.sum()函数,比如计算一个多维数组(ndarray)的所有元素之和: 当我用NumPy实现神经网络时,遇到一个问题,我需要计算一个二维ndarray每一列的元素和,于是乎我去看numpy.sum(.

yocencyy的专栏 2088

[python] 关于sum函数:sum(-1)、sum(1)、sum(0)以及keepdims=True的说明

sum(-1)和sum(1) 用途:求数组每一列的和,等价于 sum(axis=1) #关于axis的理解可以参考博主的另一篇文章【python】axis的理解 >>> import numpy as np >>> x = np.array([[0, 1], [1, 1], [2, 2]]) >>> x.sum(1) array([1, 2, 4]) >>> x.sum(-1) array([1, 2, 4]) >>

maple05的博客 2万+

numpy.sum()的使用

numpy的sum函数可接受的形参是:sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)a是要进行加法运算的向量/数组/矩阵 axis的值可以为None,也可以为整数和元组 其形参的注释如下: a : array_like Elements to sum. (用于进行加法运算的数组形式的元素) axis :

Leekingsen的博客 17万+

numpy中keepdims的理解

文章目录预备知识——准确理解numpy中数组的维度 预备知识——准确理解numpy中数组的维度 请看下面的问题 Q1: 我们数学中的向量是如何在numpy中表示的?例如A=[1,2,3] A: B: [[1 2 3]] [1 2 3] 答案:A Q2: numpy中的[1 2 3]的维度是多少? A: B: (3,1) (3,) 答案:B...

lllxxq141592654的博客 1万+

numpy.mean,sum,max,min (keepdims=True)的理解

np.mean() 函数定义: numpy.mean(a, axis, dtype, out,keepdims ) 当 keepidms=True,保持其二维或者三维的特性,(结果保持其原来维数) 默认为 False,不保持其二维或者三维的特性.(结果不保持其原来维数) 接下来我举例子说明: a 是一个(2,2)的二维数组. 第 486 和 491 对比,在 axis=1的时候,当 keepidm...

qq443967620的博客 8437

【Numpy】深入解析numpy.sum()函数

通过深入理解和熟练掌握这一函数,我们可以提升数值计算和数据处理的能力,为各种应用场景提供有力的支持。我坚信知识的力量,希望通过我的分享,能够帮助更多的人掌握这些技术,并在实际项目中发挥作用。因此,我们应当保持对NumPy库的关注和学习,以便及时了解和利用最新的功能和最佳实践。:根据输入数组的数据类型和计算需求,合理选择输出数组的数据类型,以确保计算结果的准确性和性能。函数,它专为数组和矩阵的求和操作而设计,能够高效地计算数组元素的和。函数的优势,发挥其高效性能,为构建高效、准确的数值计算流程做出贡献。

qq_38614074的博客 1649
上一篇: numpy-array初始化时指定的dtype=[(‘x‘,‘i4‘),(‘y‘,‘i4‘)]参数
下一篇: numpy-np.ix_函数的使用
zlibo丶
博客等级 码龄10年 13粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值