第2关:Numpy数组的基本运算

numpy学习——数组的基本运算操作 数组的基本运算操作 numpy支持数组之间的±*/运算,也支持数与数组之间的运算。运算时不会创建一个新的数组,而是在原有数组基础上进行修改。 举一个经常报错的例子: a = np.ones((3,3), dtype=int) b = np.ones((3,3), dtype='float64') a += b --------------------------------------------------------------------------- UFuncTypeError 阅读详情

任务描述
本关的小目标是,学会Numpy二维数组的一些基本操作。
相关知识
Numpy库可以直接进行一些四则运算,快速的处理两个Numpy数组:

a = np.array([[1,2,3],[4,5,6]])  
b = np.array([[4,5,6],[1,2,3]])  

向量与向量之间
1.加法

In:np.add(a,b) 或 a+b  
Out:array([[5, 7, 9],  
       [5, 7, 9]])  

2.减法

In:np.subtract(a,b) 或 a-b  
Out:array([[-3, -3, -3],  
       [ 3,  3,  3]])  

3.乘法(X乘)

In:np.multiply(a,b) 或 a * b  
Out:array([[ 4, 10, 18],  
       [ 4, 10, 18]])  

4.乘法(点乘)

a = np.array([[1,2,3],[4,5,6]])  
b = np.array([4,5,6])  
In: np.dot(a,b)   
Out:array([32, 77])  

5.除法

a = np.array([[1,2,3],[4,5,6]])  
b = np.array([[4,5,6],[1,2,3]])  
In:np.divide(a,b) 或 a/b  
Out:array([[ 0.25,  0.4 ,  0.5 ],  
       [ 4.  ,  2.5 ,  2.  ]])  

向量与标量之间
a = np.array([[1,2,3],[4,5,6]])

1.加法

In:  a +1  
Out:array([[2, 3, 4],  
       [5, 6, 7]])  

2.减法

In:  a -1  
Out:array([[0, 1, 2],  
       [3, 4, 5]])  

3.乘法

In: a*2  
Out:array([[ 2,  4,  6],  
       [ 8, 10, 12]])  

4.除法

In: a/2  
Out:array([[ 0.5,  1. ,  1.5],  
       [ 2. ,  2.5,  3. ]])  

5.求余

In:a%2  
Out:array([[1, 0, 1],  
       [0, 1, 0]])  

6.矩阵转置

In:a.T  
Out:array([[1, 4],  
       [2, 5],  
       [3, 6]])  

7.矩阵的逆
矩阵可逆的充要条件是矩阵满秩。

import numpy as np  
import numpy.linalg as lg  
a = np.array([[1,2,3],[4,5,6],[7,8,9]])  
In:lg.inv(a)  
Out:array([[  3.15251974e+15,  -6.30503948e+15,   3.15251974e+15],  
       [ -6.30503948e+15,   1.26100790e+16,  -6.30503948e+15],  
       [  3.15251974e+15,  -6.30503948e+15,   3.15251974e+15]])  

编程要求
本关的任务是,补全右侧编辑器中 Begin-End 区间的代码,以实现向量与标量相加和相乘的的功能。具体要求如下:

  1. 函数接受三个参数,然后进行向量与标量之间的运算;

本关的测试样例参见下文;
本关设计的代码文件cal.py的代码框架如下:

# 引入numpy库  
import numpy as np  
# 定义opeadd函数  
def opeadd(m,b,n):  
    '''实现加法  
    参数:  
    m:是一个数组  
    b:是一个列表  
    n:是列表中的索引  
    你需要做的是 m+b[n]  
    返回值:  
    ret: 一个numpy数组  
    '''      
    ret = 0  
    # 请在此添加 创建多维数组 的代码 并赋值给ret  
    #********** Begin *********#
    #********** End **********#
    return ret  
 # 定义opemul函数  
def opemul(m,b,n):  
    '''实现乘法  
    参数:  
    m:是一个数组  
    b:是一个列表  
    n:是列表中的索引  
    你需要做的是 m+b[n]  
    返回值:  
    ret: 一个numpy数组  
    '''  
    ret = 0  
    # 请在此添加 创建多维数组 的代码 并赋值给ret  
    #********** Begin *********#
    #********** End **********#  
    return ret  

测试说明
本关的测试过程如下:
平台运行step5/caltest.py文件,并以标准输入方式提供测试输入;
caltest.py文件调用cal中的方法,平台获取caltest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。
以下是平台对step5/caltest.py的测试样例:
a= np.array([[1,2,3],[4,5,6]])
b = [1,2,3]

测试输入: add
预期输出:

[[2 3 4]  
 [5 6 7]]  

测试输入:mul
预期输出:

[[ 2  4  6]  
 [ 8 10 12]]

开始你的任务吧,祝你成功!*

# 引入numpy库
import numpy as np
# 定义opeadd函数
def opeadd(m,b,n):
    '''
    参数:
    m:是一个数组
    b:是一个列表
    n:是列表中的索引
    你需要做的是 m+b[n]
    返回值:
    ret: 一个numpy数组
    '''    
    ret = 0

    #********** Begin *********#
    ret = m + b[n]
      #********** End **********#

    return ret
# 定义opemul函数
def opemul(m,b,n):
    '''
    参数:
    m:是一个数组
    b:是一个列表
    n:是列表中的索引
    你需要做的是 m*b[n]
    返回值:
    ret: 一个numpy数组
    '''
    ret = 0

    #********** Begin *********#
    ret = m*b[n]
    #********** End **********#
    return ret
第2关:Numpy 数组的基本运算 的输出,然后将其与预期输出作对比,如果一致,则测试通过;的代码,以实现向量与标量相加和相乘的的功能。函数接受三个参数,然后进行向量与标量之间的运算;库可以直接进行一些四则运算,快速的处理两个。文件,并以标准输入方式提供测试输入;矩阵可逆的充要条件是矩阵满秩。二维数组的一些基本操作。本关的测试样例参见下文; 阅读详情

相关推荐

2.Numpy数组运算

高效数组操作:通过向量化运算替代 Python 循环,显著提升计算速度。支持多种数据类型(int/float/bool)和灵活的数组创建方式(zeros/ones/arange)。 丰富的数学工具:内置三角函数、指数对数、线性代数等函数,覆盖科学计算全场景。 灵活的索引机制:支持基本索引、切片、花式索引(整数 / 布尔数组),实现复杂数据筛选。 广播机制:自动处理不同形状数组的运算,减少代码冗余。 统计与条件工具:通过 函数、掩码操作高效处理数据筛选与替换,高效快捷。

学习与分享 1663

numpy入门(二)——基本运算

numpy的运算和python的元组列表字符串不同,python列表字符串元组是累加的: numpy就真的是对相对应位置上的元素进行数学运算了: random.randint(shtar, end, 随机数数量).reshape(shape) 同时你也看到进行相应计算后原数组或矩阵的数值并没有改变,你想要保存的话需要建立一个新的变量保存。 numpy的运算速度比python要快,这...

wjyjiayou的博客 493

Numpy学习笔记(二)基本运算

文章目录前言一、一维数组基本运算1.导入库&定义数组2.一维数组加减3.一维数组的乘法4.一位数组的乘方5.使用数学函数6.判断数值大小二、多维数组基本运算1.导入库&定义数组2.多维度矩阵乘法3.random.random()用法4.sum()求和 max()最大 min()最小5.axis值设置三、基本计算1.导入库&定义数组2.argmin()&argmax()索引值2.mean()&average()均值3.median()中位数4.cumsum()累加&..

qq_40680007的博客 854

Numpy学习(2):基本运算

import numpy as np a = np.array([10,20,30,40]) b = np.ones(4) #加减乘除乘方 print(a+b) print(a-b) print(a*b) print(a/b) print(b**2) #三角函数 print(10*np.sin(a)) #蒙版 print(a <= 20) #二维 a = np.array([[1,1],[0,1]]) b = np.arange(4).reshape((2,2)) #两者等价 c_dot =

Mikumiku339的博客 368

NumPy简明教程(二、数组2)

NumPy数组(2、数组的操作) 基本运算 数组的算术运算是按元素逐个运算。数组运算后将创建包含运算结果的新数组。 >>> a= np.array([20,30,40,50]) >>> b= np.arange( 4) >>> b array([0, 1, 2, 3]) >>> c= a-b >>> c array([20, 29, 38, 47]) >>> b**2 array([0,

sunny2038的专栏 9万+

NumPy数组&矩阵运算

NumPy数组&矩阵运算 只列举了一些常用的,NumPy提供了巨多数学函数,堪称Python版MatLib,有兴趣可以查询NumPy的中文文档https://www.numpy.org.cn/ 目录NumPy数组&矩阵运算基本运算数组与数值的算术运算:加减乘除,幂余补等等数组与数组的算术运算向量点积三角函数运算四舍五入对矩阵不同维度上的元素进行求和计算数据的标准差和方差对矩阵不...

ChanZany的博客 798

Numpy初体验--第2关:Numpy数组的基本运算

caltest.py文件调用cal中的方法,平台获取caltest.py的输出,然后将其与预期输出作对比,如果一致,则测试通过;本关的任务是,补全右侧编辑器中 Begin-End 区间的代码,以实现向量与标量相加和相乘的的功能。平台运行step5/caltest.py文件,并以标准输入方式提供测试输入;本关的小目标是,学会Numpy二维数组的一些基本操作。函数接受三个参数,然后进行向量与标量之间的运算;矩阵可逆的充要条件是矩阵满秩。开始你的任务吧,祝你成功!本关的测试样例参见下文;

hardmenstudent的博客 301

Python之Numpy初体验

第一关:Numpy创建数组 代码: # 引入numpy库 import numpy as np # 定义cnmda函数 def cnmda(m,n): ''' 创建numpy数组 参数: m:第一维的长度 n: 第二维的长度 返回值: ret: 一个numpy数组 ''' ret = 0 # 请在此添加创建多维数组的代码并赋值给ret #********** B

qq_44111805的博客 1万+

2、NumPy数组基本用法

@[TOC](NumPy数组基本用法) (1)Numpy是Python科学计算库,用于快速处理任意维度的数组。 (2)NumPy提供一个==N维数组类型ndarray==,它描述了==相同类型==的“items”的集合。 (3)numpy.ndarray支持向量化运算。 (4)NumPy使用c语言写的,底部解除了GIL,其对数组的操作速度不在受python解释器限制。 ## 1、numpy中的数组: Numpy中的数组的使用跟Python中的列表非常类似。他们之间的区别如下:

qq_43061415的博客 3171

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 561

RK3588平台-ES8388音频驱动调试与设备树配置实战

本文详细解析了在RK3588平台上调试ES8388音频驱动的实战过程。内容涵盖Linux音频驱动的三层架构(Machine、Platform、Codec),并重点提供了设备树(DTS)的完整配置示例,包括I2C节点、声卡节点及音频路由设置。文章还分享了驱动加载验证、amixer调试命令以及常见问题(如无声、变调)的排查思路,旨在帮助开发者快速完成RK3588与ES8388的音频系统集成。

mango的博客 806

Numpy数组的基本运算操作

一、算术运算符 In [3]: a = np.arange(0,5) Out[3]array([0, 1, 2, 3, 4]) In [4]: a+4 Out[4]: array([4, 5, 6, 7, 8]) 最简单的就是给数组加上一个标量,然后每个都元素都加上这个标量,当然也可以减乘除。 这些运算符还可以用于两个数组的运算。在numpy中这些运算符是元素级的,即...

dielonglu3972的博客 718

2026最新 OpenClaw 手机端部署与实战:旧手机秒变 AI 智能终端(Android/iOS 双平台全覆盖)

OpenClaw 是2026年 GitHub 爆火的开源自托管 AI 执行网关,前身是 Clawdbot / Moltbot,主打“一句话让 AI 帮你完成真实操作”,核心能力包括发消息、整理文件、控制设备、自动化任务等,区别于普通对话式 AI,它能将 AI 指令转化为实际行动。无需高配置设备,无需专业技术,旧手机就能变身随身 AI 助手,既能实现自动化办公、生活便捷,又能保障数据隐私,还能体验极客玩法,这正是开源技术的魅力。# 初始化配置(按提示操作,配置 AI 模型 API Key)

wohaiweifaju的博客 5647

numpy用法2: numpy的基础运算

加减乘除运算平方调用函数比值符号矩阵乘法随机矩阵求和最值最值的索引平均值的三种种表示方式行或列的平均值中位数累加和累差数组输出所有非零索引数组逐行进行排序矩阵的置的两种表示方法修改矩阵里的数,让矩阵里的数不大于最大值不小于最小值 加减乘除运算 import numpy as np a=np.array([10,20,30,40]) b=np.arange(4) print(a,b) c1=a-b#减 print(c1) 结果: [10 20 30 40] [0 1 2 3] [10 19 28 37] .

studywithsawyer 730

单相PWM整流器四象限运行原理

简述单相PWM整流器四象限运行原理。

m0_75208156的博客 8301

标准论文参考文献添加方法——Zotero入门使用教程

第一篇论文投出去了,写一下最后一步的参考文献修饰润色吧! 论文的参考文献,即References,是论文的最后一步,相信不管是写毕设论文还是期刊论文都遇到过需要修改参考文献的情况,非常之麻烦。而且参考文献中经常会与生僻奇怪气体出现,一个一个修改非常浪费时间,这里介绍一下一个非常好用的软件Zetero。 第一步:软件的下载安装及绑定Word 尽量使用客户端吧,

MISAYAONE的博客 20万+

2.numpy数组基础运算

【代码】2.numpy数组基础运算。

weixin_48192256的博客 285

渗透测试面试题

渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

千寻的博客 12万+

educoder平台作业:Python 09_Numpy初体验

educoder平台练习答案

weixin_55483808的博客 145

【Unity-UGUI控件全面解析】| Layout自动布局组件详解

UGUI中有个自动布局组件Auto Layout,主要包含下面几个模块(点击可进入官方文档下查看描述): 自动布局 布局元素 (Layout Element) 水平布局组 (Horizontal Layout Group) 垂直布局组 (Vertical Layout Group) 网格布局组 (Grid Layout Group) 内容大小适配器 (Content Size Fitter) 自动布局系统 基于布局元素和布局控制器的概念。一个布局元素是具有矩形变换以及其他可选组件的游戏对象。布局元素对自身

努力前行,总会成为自己心中的那道光 2万+

【动态导通电阻】GaN功率器件中动态导通电阻退化的机制、表征及建模方法

研究目的:鉴于动态RON退化对GaN功率器件性能的显著影响,本文旨在全面综述和讨论GaN功率器件中动态RON退化的机制、表征方法、建模技术以及解决方案,以期为GaN功率器件的设计、优化和应用提供理论指导和实践参考。内容概述:文章首先分析了缓冲层陷阱和栅极不稳定导致动态RON退化的物理机制,并通过物理基础的TCAD模拟与高压背栅测量结果进行对比,揭示缓冲层陷阱的充电/放电过程如何影响动态RON。接着,讨论了不同GaN器件技术中栅极不稳定引起的动态RON增加以及栅极过驱动的作用。

荷塘阅色 1166

第2关 Numpy数组的基本运算 (educoder

educoder 第2关 Numpy数组的基本运算

aaaaDea的博客 4381

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Numpy基本操作——numpy中数组的基本操作

(附详细代码)本文介绍了练习numpy中数组与数值运算操作、数组与数组运算操作、数组变形操作、数组转置操作、数组排序操作。

阿极的博客 1782

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

numpy库ndarray数组的运算及操作

前提是两个数组的形状相同。

2503_92739857的博客 1255

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【画学numpy】5.numpy数组运算

上一章:4.numpy数组索引 本文是画学numpy系列文章之一 ⭐️github:drawing_and_studying_numpy包含了可以运行的notebook文件以及本文绘制的所有插图。 numpy数组运算 import numpy as np print(np.__version__) 1.22.3 基本运算 四则运算:(+-*/) 以及求模(%)、取整(//) 、乘方(**) 比较运算:==, !=, >, <, >=, <= 矩阵乘法:@ 四则运算 一维数组

Light2077 2617

python科学计算:NumPy 数组的运算

NumPy 会自动扩展较小的数组,以适应较大数组的形状,从而实现元素级运算。NumPy 提供了一系列用于数组运算的函数和操作符,这些运算可以作用于数组的每个元素上。标量可以与数组的每个元素进行加、减、乘、除等操作,这在数学建模和物理模拟中非常有用。NumPy 提供了丰富的数学函数库,用于计算数组中的常用数学操作,如平方根、对数、三角函数等。

一名全栈开发工程师 1528
上一篇: 第1关:Numpy创建数组
下一篇: 第3关:Numpy数组的切片与索引
-阿呆-
博客等级 码龄6年 712粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-阿呆-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值