当前位置: 首页 > news >正文

【五分钟】熟练使用numpy.cumsum()函数(干货!!!)

引言

numpy.cumsum()函数用于计算输入数组的累积和。当输入是多维数组时,numpy.cumsum()函数可以沿着指定轴计算累积和。

计算一维数组的累计和

代码如下:

# 计算一维数组的累计和
tmp_array = np.ones((4,), dtype=np.uint8)  # [1, 1, 1, 1]
print("输入:", tmp_array)# 方案1 ———— numpy数组的cumsum方法
array_cumsum = tmp_array.cumsum()
print("方案1输出", array_cumsum)# 方案2 ———— numpy的cumsum函数
array_cumsum = np.cumsum(a=tmp_array)
print("方案2输出:", array_cumsum)

运行结果:
在这里插入图片描述
可以看到,当输入是长度为4的全1数组时,方案一和方案二的计算结果完全一致,即输出数组的第i个元素计算的是输入数组的前i项和(累计和)

计算二维数组的累计和(沿着纵轴)

代码如下:

# 沿着纵轴计算二维数组的累计和
tmp_array = np.ones((4,4), dtype=np.uint8)
print("输入:", tmp_array)# 方案1 ———— numpy数组的cumsum方法
array_cumsum = tmp_array.cumsum(axis=0) # 0代表沿着纵轴
print("方案1输出", array_cumsum)# 方案2 ———— numpy的cumsum函数
array_cumsum = np.cumsum(a=tmp_array, axis=0)
print("方案2输出", array_cumsum)

运行结果:
在这里插入图片描述
可以看到,当输入是形状为(4,4)的全1数组时,方案一和方案二都是沿着输入数组的纵轴去计算累积和。

计算二维数组的累计和(沿着横轴)

# 沿着横轴计算二维数组的累计和
tmp_array = np.ones((4,4), dtype=np.uint8)
print("输入:", tmp_array)# 方案1 ———— numpy数组的cumsum方法
array_cumsum = tmp_array.cumsum(axis=1) # 1代表沿着横轴
print("方案1输出", array_cumsum)# 方案2 ———— numpy的cumsum函数
array_cumsum = np.cumsum(a=tmp_array, axis=1)
print("方案2输出", array_cumsum)

运行结果
在这里插入图片描述
可以看到,当输入是形状为(4,4)的全1数组时,方案一和方案二都是沿着输入数组的横轴去计算累积和。

计算二维数组的累积和(不指定轴)

代码如下:

tmp_array = np.ones((4,4), dtype=np.uint8)
print("输入:\n", tmp_array)# 方案1 ———— numpy数组的cumsum方法
array_cumsum = tmp_array.cumsum() # 不指定轴
print("方案1输出:\n", array_cumsum)# 方案2 ———— numpy的cumsum函数
array_cumsum = np.cumsum(a=tmp_array)
print("方案2输出:\n", array_cumsum)

结果如下:
在这里插入图片描述
可以看到,如果在不指定轴的情况下计算二维数组的累积和,相当于先将二维数组按顺序展开成一维数组再计算累计和 ==> 输出结果为一维数组。

小技巧

**疑问:**当函数有axis参数需要指定具体轴时,如何准确记忆axis=0代表沿着纵轴计算,而axis=1代表沿着横轴计算?

小编的回答: 当“纵”和“横”组词时,我们习惯先说“纵”,再说“横”(比如纵横交错)。同时,0和1按数字顺序排列的话也是“0”在前,“1”靠后。—— “纵横”和“01”这种先后顺序可以协助记忆。

结束语

如果本博文对你有所帮助,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~
如果有相关需求/问题需要小编帮助,欢迎私信~
小编会坚持创作,持续优化博文质量,给读者带来更好de阅读体验~

相关文章:

【五分钟】熟练使用numpy.cumsum()函数(干货!!!)

引言 numpy.cumsum()函数用于计算输入数组的累积和。当输入是多维数组时,numpy.cumsum()函数可以沿着指定轴计算累积和。 计算一维数组的累计和 代码如下: # 计算一维数组的累计和 tmp_array np.ones((4,), dtypenp.uint8) # [1, 1, 1, 1] print(&…...

由11月27日滴滴崩溃到近两个月国内互联网产品接二连三崩溃引发的感想

文章目录 知乎文分析微信聊天截图微信公众号 滴滴技术 发文k8s 官方文档滴滴官方微博账号 近两个月国内互联网产品“崩溃”事件2023-10-23 语雀崩溃2023-11-12 阿里云崩溃2023-11-27 滴滴崩溃2023-12-03 腾讯视频崩溃总结 我的感想 知乎文分析 最近连续加班,打车较…...

Python按要求从多个txt文本中提取指定数据

基本想法 遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件,并从每一个文本文件中,找到我们需要的指定数据,最后得到所有文本文件中我们需要的数据的集合 举例 如现有名为file一个文件夹,里面含有大量的.txt格…...

DFT新手教程:VASP中ISIF取值设置

新手初学VASP计算时首先接触到的就是结构优化的计算任务。 在结构优化中,INCAR中的关键参数包括 IBRION ,NSW,ISIF,EDIFF和EDIFFG 各个参数均可在vaspwiki查到可设置的参数以及该参数所具有的设置的含义。 https://www.vasp.at/…...

pytest自动化框架之allure测试报告的用例描述设置

allure测试报告的用例描述相关方法;如下图 allure标记用例级别severity 在做自动化测试的过程中,测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。 pytest结合allure框架可以对…...

在编程中遇到的问题总结

IDEA空包粘黏问题 创建好目录以后会发现idea自动将空包合并在一起了,而且点击设置里面也没有Compact Middle Package Compact Middle Package如果不在设置的主面板上,则点击Tree Appearance,会发现Compact Middle Package在Tree Appearance里…...

【数据库设计和SQL基础语法】--SQL语言概述--SQL的基本结构和语法规则(二)

一、数据控制语言(DCL) 1.1 授权(GRANT) 数据控制语言(DCL)是SQL的一个子集,用于控制数据库中的数据访问和权限。GRANT语句是DCL中的一种,用于向用户或角色授予特定的数据库操作权…...

easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现)

easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现) package com.example.wxmessage.entity;import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;…...

QMLfor python pyside6

QML QML是一种用于创建用户界面的声明性语言,它是Qt生态系统中的一部分。QML使用JavaScript语言和其独特的语法来定义用户界面组件,使得开发人员可以轻松地创建现代化、漂亮而又响应迅速的应用程序。 QML是基于QtQuick技术构建的,QtQuick是…...

几何教学工具 Sketchpad几何画板 mac软件特色

Sketchpad几何画板 for Mac是一款适用于macOS系统的几何教学工具,用户可以在其画板上进行各种几何图形的绘制、演示,帮助教师了解学生的思路和对概念的掌握程度。此外,Sketchpad更深层次的功能则是可以用来进行几何交流、研究和讨论&#xff…...

华清远见嵌入式学习——C++——作业5

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;//沙发 类 class Sofa { private:string sitting; //是否可坐double *cost; //花费 public://无参构造函数Sofa(){}//有参构造函数Sofa(string s,double c):sitting(s),cost(new double(…...

Java中的类与类之间的关系

1、Java中类与类之间的关系 依赖&#xff08;Dependency&#xff09;&#xff1a;一个类依赖于另一个类的定义。这种关系通常通过在一个类的方法中创建另一个类的实例来实现。依赖关系是类与类之间最基本的关系之一。关联&#xff08;Association&#xff09;&#xff1a;关联…...

全新仿某度文库网站源码/在线文库源码/文档分享平台网站源码/仿某度文库PHP源码

源码简介&#xff1a; 全新仿某度文库网站源码/在线文库源码&#xff0c;是以phpMySQL开发的&#xff0c;它是仿某度文库PHP源码。有功能免费文库网站 文档分享平台 实现文档上传下载及在线预览。 仿百度文库是一个以phpMySQL进行开发的免费文库网站源码。仿某度文库实现文档…...

HTTPS的安全问题及应对方案

HTTPS是一种在网络通信中广泛使用的安全协议&#xff0c;通过使用SSL/TLS加密来保护数据的传输。然而&#xff0c;即使在使用了HTTPS的情况下&#xff0c;仍然存在一些潜在的安全问题。本文将深入探讨HTTPS的安全问题&#xff0c;并提供一些有效的应对策略&#xff0c;以确保数…...

TensorRT-LLM保姆级教程(一)-快速入门

随着大模型的爆火&#xff0c;投入到生产环境的模型参数量规模也变得越来越大&#xff08;从数十亿参数到千亿参数规模&#xff09;&#xff0c;从而导致大模型的推理成本急剧增加。因此&#xff0c;市面上也出现了很多的推理框架&#xff0c;用于降低模型推理延迟以及提升模型…...

使用Redis构建简易社交网站(3)-状态与信息流

目的 本文目的&#xff1a;实现获取主页时间线和状态推送功能。&#xff08;完整代码附在文章末尾&#xff09; 相关知识 在我上一篇文章 《使用Redis构建简易社交网站(2)-处理用户关系》中提到了实现用户关注和取消关注功能。 那这篇文章将教会你掌握&#xff1a;1&#x…...

Python,非二进制的霍夫曼编码

一般来说&#xff0c;霍夫曼编码是二进制的&#xff0c;但是非二进制的也可以。本文中&#xff0c;通过修改N&#xff0c;可以得到任意进制的霍夫曼编码。 非二进制编码的作用&#xff1a;例如&#xff0c;设计九键输入法&#xff0c;希望根据拼音的概率来编码&#xff0c;常用…...

详解—[C++数据结构]—红黑树

目录 一、红黑树的概念 ​编辑二、红黑树的性质 三、红黑树节点的定义 四、红黑树结构 五、红黑树的插入操作 5.1. 按照二叉搜索的树规则插入新节点 5.2、检测新节点插入后&#xff0c;红黑树的性质是否造到破坏 情况一: cur为红&#xff0c;p为红&#xff0c;g为黑&…...

甘草书店记:6# 2023年10月31日 星期二 「梦想从来不是一夜之间实现的」

甘草书店 今天收到甘草书店第二版装修设计平面图&#xff0c;与理想空间越来越近。 于我而言&#xff0c;每一次世俗意义上所谓的成功都不如文艺作品中表现的那样让人欢腾雀跃。当你用尽120分努力&#xff0c;达到了冲刺满分的实力时&#xff0c;得个优秀的成绩也并不意外。 …...

基于Java SSM车辆租赁管理系统

现代生活方式下&#xff0c;人们经常需要租赁车辆&#xff0c;比如婚庆、自驾游等&#xff0c;车辆租赁公司应运而生&#xff0c;车辆租赁管理系统就是借助计算机对车辆租赁情况进行全面管理。系统的主要管理对象及操作有&#xff1a; 车辆信息&#xff1a;包括车辆类型、车辆名…...

FPGA与CPLD在数字机顶盒中的关键技术应用

1. 可编程逻辑器件在数字机顶盒中的核心价值 数字机顶盒作为连接广播网络与终端显示设备的关键枢纽&#xff0c;其设计面临三大核心挑战&#xff1a;多标准兼容性、快速功能迭代和成本控制。Xilinx Spartan系列FPGA和CoolRunner CPLD通过硬件可重构特性&#xff0c;为这些挑战提…...

终极指南:5分钟快速解密网易云音乐NCM文件,实现音乐自由

终极指南&#xff1a;5分钟快速解密网易云音乐NCM文件&#xff0c;实现音乐自由 【免费下载链接】ncmdump ncmdump - 网易云音乐NCM转换 项目地址: https://gitcode.com/gh_mirrors/ncmdu/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#…...

League Akari终极指南:英雄联盟玩家的智能游戏助手完整教程

League Akari终极指南&#xff1a;英雄联盟玩家的智能游戏助手完整教程 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟的繁琐操…...

拆解、对比与优化:LLM工具智能体的五种任务规划与执行模式

大语言模型&#xff08;LLM&#xff09;驱动的 AI 智能体&#xff0c;特别是在借助Tools&#xff08;工具&#xff09;来完成复杂任务执行的过程中展现出了巨大的潜力。然而&#xff0c;让智能体能够合理规划任务步骤与执行、避免盲目行动是确保其高效可靠完成目标的关键。本篇…...

CANN/asc-devkit asc_le函数文档

asc_le 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/can…...

【2026前沿】LTX 2.3 深度实战:结合 Gemma 4完全体 打造电影级文生视频/图生视频全流程

一、 为什么 LTX 2.3 是 2026 年视频生成的“性价比之王”&#xff1f;LTX 2.3 在保留了上一代高速生成特性的基础上&#xff0c;在 VAE&#xff08;变分自编码器&#xff09; 进行了重构。相比于 LTX 2.0&#xff0c;它的核心优势在于&#xff1a;原生纵向支持&#xff1a;不再…...

CANN/asc-devkit Reset函数说明

Reset 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...

CANN Ascend C uint32转bfloat16函数

__uint2bfloat16_rd 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://git…...

别再瞎学 C 语言了!真・胎教级入门教程 | NO.3 万字详解分支与循环 | 下篇

欢迎大家来到<<别再瞎学 C 语言了&#xff01;真・胎教级入门教程 | NO.3 万字详解分支与循环>>下篇学习.在上期中我们已经了解了分支与循环中的if语句,关系操作符,条件操作符,逻辑操作符和switch语句.这一期我们继续来了解剩下的内容.6. while循环在C语言中有三种…...

ACL 2026 | 未见伪造也能识别:「证链侦探」破解“泛化失灵”困局

AI 生成图像、AI 编造文本、图文协同伪造……今天的多模态虚假内容&#xff0c;已经越来越复杂。面对训练中没见过的新新闻域、新操纵方式、新组合套路&#xff0c;很多现有鉴伪模型往往就开始“掉链子”。问题的关键不只是伪造更多了&#xff0c;而是模型学到的东西太像“背答…...