numpy数组03-数组的计算

news2024/11/24 0:46:44

一.数组与数字之间进行计算

numpy中的数组与数字进行计算是广播形式,数组+-*/数字,则数组中的每一个数字都会进行相应的四则运算。

1.1数组与数字之间的四则运算

示例代码如下:

import numpy as np


a = np.arange(24)
b = a.reshape(4, 6)
print(b)
print(b+2)
print(b-2)
print(b*2)
print(b/2)

输出结果如下所示:

可以发现数组中的每一个数字有进行了运算。

1.2数组/0的运算(运行时程序会警告,但是不会报错)

示例代码如下:

import numpy as np


a = np.arange(24)
b = a.reshape(4, 6)
print(b)
print(b/0)

输出结果如下:

 其中nan是0/0的结果

inf是非零数字/0的结果,inf为infinitely的缩写,表示无穷大。

二、数组与数字之间的运算

2.1 两个数组形状相同

当两个数组的形状一样的时候,四则运算对应的位置的数字进行操作。

示例代码如下:

b = np.arange(24).reshape(4, 6)
c = np.arange(100, 124).reshape(4, 6)
print(b)
print("------")
print(c)

print(b+c)
print(b-c)
print(b*c)
print(b/c)

输出结果如下:

 结果为直接对应的数据进行运算。

2.2 当两个数组的形状不相同

2.2.1 若两个数组的列相同

则按照每一行的数据进行相加

示例代码如下:

b = np.arange(24).reshape(4, 6)  # 4*6
s = np.arange(0, 6)              # 1*6
print(b)
print(s)
print(b+s)  # b的每一行加上s对应的数

输出结果如下:

2.2.2 若两个数组的行相同

则按照每列进行多次相加

示例代码如下:

j = np.arange(4).reshape(4, 1)
b = np.arange(24).reshape(4, 6)
print(j)
print(b+j)

输出结果如下所示:

注意点:

三维数组只能在某一维度(某一方向)上中的行和列都一样,才能进行运算。

若行的维度和列的维度都不一样,则不能进行运算。

例如:

shape为(3,3,3)的数组不能与(3,2)进行计算。

shape为(3,3,3)的数组能与(3,3)进行计算。

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

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

相关文章

Flutter BottomSheet 拖动分两段展示

第一段 第二段 实现思路 通过 GestureDetector 的 Drag 方法,动态改变Dialog的高度,通过设置一个最大高度和最小高度分成两层进行展示 实现 常用的展示BottomSheet的方法为 showModalBottomSheet /// 设置最高最好以高度的比例进行设置,方…

mongoose中http server服务器解决“Access-Control-Allow-Origin mongoose”跨域问题

问题 使用mongoose做http服务器,自己构造的浏览器端jquery在访问server时,会遇到: Access to XMLHttpRequest at http://127.0.0.1:8000/ from origin null has been blocked by CORS policy: No Access-Control-Allow-Origin header is pr…

Shell脚本-bin/bash: 解释器错误: 没有那个文件或目录-完整路径执行-“/”引发的脑裂

引起该不适的一种可能以及解决方案,网上较多,比如: 但按以上方式操作,并经过查看,发现仍然未能解决问题。 因为两种方式执行,有一种能成功,有一种不能,刚开始未怀疑是文件问题&…

基于OpenAI的Whisper构建的高效语音识别模型:faster-whisper

1 faster-whisper介绍 faster-whisper是基于OpenAI的Whisper模型的高效实现,它利用CTranslate2,一个专为Transformer模型设计的快速推理引擎。这种实现不仅提高了语音识别的速度,还优化了内存使用效率。faster-whisper的核心优势在于其能够在…

分布式系统架构设计之分布式系统实践案例和未来展望

分布式系统在过去的几十年里经历了长足的发展,从最初的简单分布式架构到今天的微服务、云原生等先进架构,取得了丰硕的成果。本文将通过实际案例分享分布式系统的架构实践,并展望未来可能的发展方向。 一、实践案例 1、微服务化实践 背景 …

【HarmonyOS开发】案例-记账本开发

OpenHarmony最近一段时间,简直火的一塌糊度,学习OpenHarmony相关的技术栈也有一段时间了,做个记账本小应用,将所学知识点融合记录一下。 1、记账本涉及知识点 基础组件(Button、Select、Text、Span、Divider、Image&am…

SpringBoot项目部署及多环境

1、多环境 2、项目部署上线 原始前端 / 后端项目宝塔Linux容器容器平台 3、前后端联调 4、项目扩展和规划 多环境 程序员鱼皮-参考文章 本地开发:localhost(127.0.0.1) 多环境:指同一套项目代码在把不同的阶段需要根据实际…

在STM32中集成TSL2561光强传感器的开发和调试

在STM32中集成TSL2561光强传感器的开发和调试是一个常见的应用场景。TSL2561是一款数字光传感器,能够测量可见光和红外光的光强,并通过I2C接口将数据传输给微控制器。下面将为您介绍在STM32中集成TSL2561传感器的开发步骤,并附上相应的代码示…

【机器学习前置知识】Beta分布

Beta分布与二项分布的关系 Beta分布与二项分布密切相关,由二项分布扩展而来,它是用来描述一个连续型随机变量出现的概率的概率密度分布,表示为 X X X~ B e t a ( a , b ) Beta(a,b) Beta(a,b) , a 、 b a、b a、b 是形状参数。Beta分布本质上也是一个概率密度函数,只是这…

水库大坝安全监测设计与施工经验

随着我国的科技水平不断上升,带动了我国的水电建设向更高层次发展。目前,我国的水电站大坝已有上百座,并且大坝安全检测仪器质量与先进技术不断更新发展,如今水电站大坝数据信息采集与观测资料分析,能够有效提高水库大…

outlook邮箱群发邮件方法?邮箱如何群发?

outlook邮箱群发邮件如何使用?QQ邮箱设置群发的步骤? Outlook邮箱群发邮件:必要性 Outlook邮箱作为全球广泛使用的邮件服务之一,不仅提供了便捷的邮件收发功能,还支持多种附件、日历提醒及强大的联系人管理。Outlook…

NVMe over Fabrics:概念、应用和实现

对于大部分人来说,NVMe over Fabrics(简称NVMf)还是个新东西,因为其第一个正式版本的协议在今年6月份才发布。但是这并不影响人们对NVMf的关注,因为这项依托于NVMe的技术很可能继续改变存储市场格局。 NVMf的贡献在于…

CENTOS docker拉取私服镜像

概述 docker的应用越来越多,安装部署越来越方便,批量自动化的镜像生成和发布都需要docker镜像的拉取。 centos6版本太老,docker的使用过程中问题较多,centos7相对简单容易。 本文档主要介绍centos系统安装docker和拉取docker私…

【HBuilder + IDEA + XFtp + XShell】打包部署上线

简述 前后端分离:需要将前后端的程序包打包发送至应用Linux服务器上Linux服务器 (1)需要启用SSHD服务,该服务会监听22号端口(一般是开启的) (2)搭建:MYSQL、Nginx、jdk、…

VS2013中特殊操作

代码段管理器(查看代码补全快捷方式) 1.点击 工具 ->点击 代码片段管理器->看到 语言->选择 Visual C 2.可以点击下方添加 自定义一个属于自己的快捷代码补全方式 3.结果图: 设置自动换行与行号 1.点击 工具->点击 选项->找到 文本编辑器(然后点击)…

Uniapp软件库全新带勋章功能(包含前后端源码)

源码介绍: Uniapp开发的软件库全新带勋章功能,搭建好后台 在前端找到 util 这个文件 把两个js文件上面的填上自己的域名,电脑需要下载:HBuilderX 登录账号 没有账号就注册账号, 然后上传文件,打包选择 “…

显示器与按键(LCD 1602 + button)

一、实验目的: (1)学习lcd 1602的编程与使用、 (2)机械式复位开关button软件消抖的方法。 二、实验内容: 1、必做:先显示开机画面,:在1602显示器上,分两行…

mfc100u.dll文件丢失了要怎么解决?修复mfc100u.dll详细指南

mfc100u.dll文件丢失了要怎么解决?首先让我们扒一扒什么是 mfc100u.dll。这玩意儿是 Microsoft Visual Studio 2010 的一部分,它就像一款程序生活中不可或缺的零件,没了它,程序肯定跑不起来。想想看,没有一个重要的零件&#xff…

手机怎么下载python并安装,如何在手机上下载python

大家好,小编来为大家解答以下问题,如何在手机上下载python 3.7版本,手机怎么下载python并安装,现在让我们一起来看看吧! 如何在手机上下载python 应用市场内搜索下载下载Python在您开始之前,在你的计算机将…

github鉴权失败

问题: 如上图所示 git push 时发生了报错,鉴权失败; 解决方案 Settings->Developer settings->Personal access tokens->Generate new token。创建新的访问密钥,勾选repo栏,选择有效期,为密钥命…