NumPy基础及取值操作

文章目录

  • 第1关:ndarray对象
  • 第2关:形状操作
  • 第3关:基础操作
  • 第4关:随机数生成
  • 第5关:索引与切片


第1关:ndarray对象

编程要求
根据提示,在右侧编辑器Begin-End中填充代码,根据测试用例的输入,实例化出对应的ndarray对象并打印。

具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!

测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。

shape:为需要实例化出来的ndarray对象的shape;

data:表示需要实例化出来的ndarray对象中元素的值。

例如:{‘shape’:[1, 2], ‘data’:[[1, 2]]}表示ndarray对象的形状为1行2列,第1行第1列的值为1,第1行第2列的值为2。

测试输入:
{‘shape’:[1, 2], ‘data’:[[1, 2]]}

预期输出:
[[1 2]]

示例代码如下:

import numpy as npdef print_ndarray(input_data):'''实例化ndarray对象并打印:param input_data: 测试用例,类型为字典类型:return: None'''#********* Begin *********#a=input_datab = np.array(a['data'])print(b)#********* End *********#

在这里插入图片描述

第2关:形状操作

编程要求
根据提示,在右侧编辑器Begin-End中填充代码,根据测试用例的输入,将列表转换成ndarray后变形成一维数组并将其打印。

具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!

测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。

测试输入:
[[1, 2, 3], [4, 5, 6]]
预期输出:
[1, 2, 3, 4, 5, 6]

```python
import numpy as np
a = np.zeros((3, 4))
``````python
import numpy as np
a = np.zeros((3, 4))
``````python
import numpy as np
a = np.zeros((3, 4))

示例代码如下:

import numpy as npdef reshape_ndarray(input_data):'''将ipnut_data转换成ndarray后将其变形成一位数组并打印:param input_data: 测试用例,类型为list:return: None'''#********* Begin *********#print(np.array(input_data).reshape(-1))#********* End *********#

在这里插入图片描述

第3关:基础操作

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,根据测试用例的输入,打印每行的最大值的位置。

具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!

测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。

测试输入:
[[0.2, 0.7, 0.1], [0.1, 0.3, 0.6]]
预期输出:
[1 2]

示例代码如下:

import numpy as npdef get_answer(input_data):'''将input_data转换成ndarray后统计每一行中最大值的位置并打印:param input_data: 测试用例,类型为list:return: None'''#********* Begin *********#print(np.array(input_data).argmax(axis=1))#********* End *********#

在这里插入图片描述

第4关:随机数生成

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,将测试用例输入打乱顺序并返回打乱结果。

具体要求请参见后续测试样例。
注意:评测程序内部已经设置好了随机种子,为了顺利评测,请使用np.random.choice()函数来实现打乱顺序。

请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!

测试说明
平台会对你编写的代码进行测试,对比你输出的数值与实际正确的数值,只有所有数据全部计算正确才能进入下一关。

测试输入:
[1, 2, 3, 4, 5, 6]
预期输出:
[4, 3, 5, 1, 2, 6]

示例代码如下:

import numpy as npdef shuffle(input_data):'''打乱input_data并返回打乱结果:param input_data: 测试用例输入,类型为list:return: result,类型为list'''# 保存打乱的结果result = []#********* Begin *********#result = list(np.random.choice(a=input_data,size=len(input_data),replace=False))#********* End *********#return result

在这里插入图片描述

第5关:索引与切片

编程要求
在图像处理中,我们通常会将我们感兴趣的区域提取出来再进行处理,而这个感兴趣区域成为ROI(Region Of Interest)。本关的任务是根据提示,在右侧编辑器Begin-End处补充代码,根据测试用例的输入将ROI的提取并返回(ROI是一个矩阵)。

具体要求请参见后续测试样例。
请先仔细阅读右侧上部代码编辑区内给出的代码框架,再开始你的编程工作!

测试说明
平台会对你编写的代码进行测试。你只需按要求完成get_roi(data, x, y, w, h)函数即可。其中:

data:待提取ROI的原始图像数据(其实就是个二维数组),类型为ndarray;

x: ROI的左上角顶点的行索引,类型为int;

y: ROI的左上角顶点的列索引,类型为int;

w: ROI的宽,类型为int;

h: ROI的高,类型为int。

测试用例是一个字典,字典中image部分表示原始图像的像素数据,x部分表示ROI的左上角顶点的行索引,y部分表示ROI的左上角顶点的列索引,w部分表示ROI的宽,h部分表示ROI的高。

测试输入:
{‘image’:[[1, 2, 255, 255, 0], [255, 255, 0, 0, 3]], ‘x’:0, ‘y’:1, ‘w’:2, ‘h’:1}

预期输出:

[[ 2 255 255] [255 0 0]]

示例代码如下:

import numpy as npdef get_roi(data, x, y, w, h):'''提取data中左上角顶点坐标为(x, y)宽为w高为h的ROI:param data: 二维数组,类型为ndarray:param x: ROI左上角顶点的行索引,类型为int:param y: ROI左上角顶点的列索引,类型为int:param w: ROI的宽,类型为int:param h: ROI的高,类型为int:return: ROI,类型为ndarray'''#********* Begin *********#b = data[x:x+h+1,y:y+w+1]return b#********* End *********#

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet测试1

通过按钮提交get,post请求,并且后端响应数据,显示到前端 当点击get按钮时 是发起Get请求 后端接收到Get请求后,把数据写入到body内 当点击pst按钮时 是发起Post请求 后端接收到Post请求后,把数据写入到body内 之后前端就从bod…

Pyjion,一个神奇的 Python 库!

大家好,今天为大家分享一个神奇的 Python 库 - Pyjion。 Github地址:https://github.com/Microsoft/Pyjion Pyjion 是一个针对 Python 解释器的 JIT 编译器,旨在提高 Python 代码的性能。本文将深入探讨 Pyjion 库的特性、用法,并…

ELK——日志处理界的瑞士军刀

目录 引言 一、ELK简介 (一)基本概述 1.Elasticsearch服务 2.Logstash服务 2.2 logstash关键组件 2.2 logstash数据流向 3.Kibana服务 (二)ELK工作流程 (三)ELK的应用价值 二、部署搭建ELK &…

第十五届蓝桥杯省赛C/C++大学B组真题及赛后总结

目录 个人总结 C/C 组真题 握手问题 小球反弹 好数 R 格式 宝石组合 数字接龙 爬山 拔河 ​编辑 再总结及后续规划 个人总结 第一次参加蓝桥杯,大二,以前都在在学技术,没有系统的学过算法。所以,还是花了挺多时间去备…

win10录屏快捷键揭秘,教你轻松录制屏幕

“大家有没有注意过,在使用Windows 10操作系统时,如何能够快速而简便地录制屏幕上的内容呢?每次都要打开录屏软件再开始录制,实在是有些繁琐,如果有一个简单的快捷键,那该多好啊。大家如果有好的建议&#…

计算机本科毕业,「就业」还是「读研」?

如果本科不错能找到较好的工作,建议直接工作,否则可以选择读研。 如果你本科毕业于一所顶尖学府,且技术实力雄厚,那么直接就业可能更为明智;对比而言读研可以为你提供更多的时间和机会去提升自己,尤其是在…

精通技术写作:如何写出高质量技术文章?

CSDN 的朋友你们好,我是未来,今天给大家带来专栏【程序员博主教程(完全指南)】的第 7 篇文章“如何撰写高质量技术文章”。本文深入探讨了如何写好一篇技术文章。文章给出了好的技术文章的定义和分析,并提供了从选题、…

【入门】时钟旋转

时间限制 : 1 秒 内存限制 : 128 MB 时钟上面的时针从m时走到n时旋转了多少度&#xff1f;&#xff08;m<n&#xff0c;且m和n都是1~12之间的整数&#xff09; 输入 2个整数m和n 输出 一个整数代表时针旋转的度数 样例 输入 1 4 输出 90 提示 基础问题 #includ…

【树哈希】CF1182D Complete Mirror

CF1182D - Complete Mirror Description 给定一个 n n n 个点的无根树&#xff0c;求一个树根 r o o t root root,使得对于任意两个节点 v 1 , v 2 v_1,v_2 v1​,v2​&#xff0c;若满足 d i s t ( v 1 , r o o t ) d i s t ( v 2 , r o o t ) dist(v_1,root)dist(v_2,ro…

大家都在用的一款高颜值免费在线SCI绘图工具~~~

ImageGP从2017年推出后&#xff0c;稳定运行7年&#xff0c;因其使用简单方便&#xff0c;深受广大朋友们喜欢。 独立IP访问60万次&#xff0c;日均使用1000次。 如果您对编程不熟悉&#xff0c;使用ImageGP可以快速出图。 只需轻轻点2两下&#xff0c;下面的美图就出来了 如果…

Java开发从入门到精通(二十):Java的面向对象编程OOP:IO流文件操作的读取和写入

Java大数据开发和安全开发 &#xff08;一&#xff09;Java的IO流文件读写1.1 IO流前置知识1.1.1 ASCII字符集1.1.2 GBK字符集1.1.3 Unicode字符集1.1.4 UTF-8字符集1.1.4 Java的编码解码 1.2 IO流的基础知识1.2.1 认识I0流1.2.2 应用场景1.2.3 如何学I0流1.2.3.1 先搞清楚I0流…

瑞芯微RK3328(ROC-RK3328-PC)buildroot 开发QT的hello world

第一部分&#xff1a;编译rk3328 sdk 0. 环境 - EC-R3328PC&#xff08;ROC-RK3328-PC&#xff09; - ubuntu18&#xff08;100GB&#xff09; 1. 安装依赖 sudo apt-get updatesudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools devi…