【数据分析 - 基础入门之NumPy⑥】- NumPy案例巩固强化

news2024/9/23 13:18:43

文章目录

  • 前言
  • 一、NumPy基础训练
    • 1.1 创建一个长度为10的一维全为0的ndarray对象,并让第5个元素为1
    • 1.2 创建一个元素为从10到49的ndarray对象
    • 1.3 将第2题的所有元素位置反转
    • 1.4 创建一个10*10的ndarray对象并打印最大最小元素
    • 1.5 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0
    • 1.6 创建一个每一行都是从0到4的5*5矩阵
    • 1.7 创建一个范围在0-1之间的长度为12的等差数列
    • 1.8 创建一个长度为10的随机数组并排序
    • 1.9 创建一个长度为10的随机数组并将最大值替换为0
  • 二、NumPy强化训练
    • 2.1 给定一个4维矩阵,求最后两维的和
    • 2.2 给定数组[1,2,3,4,5],在每个元素后插入3个0
    • 2.3 给定一个二维矩阵,交换其中两行元素
    • 2.4 创建一个长度为100000的随机数组,使用两种方法求3次方,并比较所用时间
    • 2.5 创建一个5 * 3的随机矩阵和一个3 * 2的随机矩阵,求矩阵积
    • 2.6 矩阵每一行的元素都减去该行的平均值
    • 2.7 打印如下矩阵
    • 2.8 正则化一个5*5随机矩阵
  • 结语
  • 相关导读

前言

大家好!我是初心,本期给大家带来的是 NumPy案例巩固强化练习题,共17道,亲测。

一、NumPy基础训练

1.1 创建一个长度为10的一维全为0的ndarray对象,并让第5个元素为1

n1 = np.zeros(10,dtype=np.int16)
n1[4] = 1
n1

1.2 创建一个元素为从10到49的ndarray对象

n2 = np.arange(10,50)
n2

1.3 将第2题的所有元素位置反转

n2[::-1]

1.4 创建一个10*10的ndarray对象并打印最大最小元素

n4 = np.random.random((10,10))
print(np.max(n4))
print(np.min(n4))

1.5 创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0

n5 = np.zeros((10,10),dtype=np.int16)
n5[[0,9]] = 1
n5[:,[0,9]] = 1
print(n5)

1.6 创建一个每一行都是从0到4的5*5矩阵

n6 = np.array(range(0,5))
n6

1.7 创建一个范围在0-1之间的长度为12的等差数列

n7 = np.linspace(0,1,num=12)
n7

1.8 创建一个长度为10的随机数组并排序

n8 = np.random.random(10)
np.sort(n8)

1.9 创建一个长度为10的随机数组并将最大值替换为0

n9 = np.random.random(10)
n9[np.argmax(n9)] = 0
print(n9)

二、NumPy强化训练

2.1 给定一个4维矩阵,求最后两维的和

n1 = np.random.randint(1,10,(2,3,4,5)) # 四维数组
display(n1)
np.sum(n1,(2,3))
# axis = 0 表示第一个维度
# axis = 1 表示第二个维度
# axis = 2 表示第三个维度
# axis = 3 表示第四个维度

2.2 给定数组[1,2,3,4,5],在每个元素后插入3个0

n = np.arange(1,6)
display(n)
n2 = np.zeros(17,dtype=np.int16)
display(n2)
n2[::4] = n
n2

2.3 给定一个二维矩阵,交换其中两行元素

n = np.random.randint(1,10,(3,3))
display(n)
n = n[[1,0,2]] # 交换第一行和第二行
display(n)

2.4 创建一个长度为100000的随机数组,使用两种方法求3次方,并比较所用时间

n = np.random.randint(0,10,100000)
%timeit n ** 3
%timeit np.power(n,3)

2.5 创建一个5 * 3的随机矩阵和一个3 * 2的随机矩阵,求矩阵积

n1 = np.random.randint(0,10,(5,3))
n2 = np.random.randint(0,10,(3,2))
display(n1,n2)
np.dot(n1,n2)

2.6 矩阵每一行的元素都减去该行的平均值

n = np.random.randint(0,10,(3,4))
display(n)
# 行平均值
n2 = np.mean(n,axis=1).reshape(3,1)
display(n2)
n - n2

2.7 打印如下矩阵

n = np.zeros((8,8),dtype = np.int16)
display(n)
n[::2,1::2] = 1
n[1::2,0::2] = 1
display(n)

2.8 正则化一个5*5随机矩阵

n = np.random.randint(0,10,(5,5))
display(n)
min1 = np.min(n)
max1 = np.max(n)
n = (n - min1) / (max1 - min1)
display(n)

注:题目素材来自 ——《千锋教育》

结语

本期跟大家分享的就是这些题目了!希望大家可以多多实操练习,加强巩固,以便更好的掌握 NumPy 。

相关导读

文章直达链接
上期回顾【数据分析 - 基础入门之NumPy⑤】- NumPy基本操作 - 二
下期预告【数据分析 - 基础入门之pandas篇①】- pandas基础入门 - 一

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

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

相关文章

程序设计相关概念

计算机概念 计算机是根据指令操作数据的设备。具有功能性和可编程性的特点。 功能性:对数据的操作,表现为数据计算、输入输出处理和结果存储等。 可编程性:根据一系列指令自动地、可预测地、准确地完成操作者的意图。 计算机的发展 计算机…

【LVS负载均衡集群】

文章目录 一.什么是集群1.集群的含义 二.集群使用在那个场景三.集群的分类1.负载均衡器集群2.高可用集群3.高性能运算集群 四.负载集群的架构1.第一层,负载调度器2.第二层,服务器池3.第三层,共享存储 五.负载均衡集群的工作模式1.地址转换 &a…

Unity减少等待快速进入运行

我们平时播放时一旦修改了c#的脚本总要加载进行等待,网上也缺乏如何设置,以及为什么?这样做可以达到这样的效果。 ------如何设置?【默认并不会开启】 Edit->Project Settings->Editor->Enter Player Mode Options 这样…

企业为什么要做自动化测试?如何成功实施自动化测试?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 企业为什么需要自…

【LeetCode热题100】打卡第33天:环形链表LRU缓存

文章目录 【LeetCode热题100】打卡第33天:环形链表&LRU缓存⛅前言 环形链表🔒题目🔑题解 LRU缓存🔒题目🔑题解 【LeetCode热题100】打卡第33天:环形链表&LRU缓存 ⛅前言 大家好,我是知…

C++ 实现生产者消费者模型 (线程同步、互斥锁、条件变量锁)详细注释

代码结构 任务:这里用一个int类型的taskNumber代替任务任务队列类:封装了任务队列,存,取等操作。生产者工作函数:生产者执行的函数,向任务队列中添加任务,每个生产者生产3个任务消费者工作函数…

脱离产品怎么可能完成测试?

“脱离应用场景谈技术毫无意义”。其实很多东西都是如此,这个有点哲理的味道了。我们是做engineering,软件工程也是工程,工程的特点就是不能停留在理论和方法,最后要做出东西来,软的也好,硬的也好。 人有…

爬虫反反爬

目录 为什么要反爬? 经常被反爬的主要人群 常见的反爬策略 通过headers字段来反爬 通过headers中的User-Agent字段来反爬 通过referer字段或者是其他字段来反爬 通过cookie来反爬 通过请求参数来反爬 通过从html静态文件中获取请求数据(github登录数据) 通…

【Go】vscode 安装go环境gopls失败

项目场景: 想要在VSCode安装go环境,但是gopls下载失败,导致vscode无法使用language server 问题描述 自动下载失败,在打开命令面板(CtrlshiftP)之后,输入go install/update 下载也失败 $ g…

并发编程 - Event Bus 设计模式

文章目录 Pre设计CodeBus接口自定义注解 Subscribe同步EventBus异步EventBusSubscriber注册表RegistryEvent广播Dispatcher 测试简单的Subscriber同步Event Bus异步Event Bus 小结 Pre 我们在日常的工作中,都会使用到MQ这种组件, 某subscriber在消息中间…

PillarNext论文解读

这篇文章是轻舟智航23年的一篇论文,是对pillarNet进行改进。 改进方面: 1.训练更长的时间在检测头增加IOU预测score,这个iou分数预测不太清楚,不知道是不是iouloss 2.扩大感受野,包括Neck部分使用FPN或者BiFPN.使用…

3.zabbix操作二

文章目录 zabbix操作二部署zabbix代理服务器安装zabbix_proxy安装数据库配置代理服务器配置文件web端添加agent代理并连接主机 部署zabbix高可用群集zabbix监控Windows系统zabbix监控java应用zabbix监控SNMP zabbix操作二 部署zabbix代理服务器 分布式监控的作用:…

Flink web UI配置账号密码,权限控制

由于Flink自带的web UI界面没有账号密码,需要通过nginx实现该效果。 1.安装httpd-tools工具 yum install httpd-tools -y 2.生成用户名密码文件 htpasswd -c /usr/local/nginx/conf/flinkuser username passwd flinkuser:为生成的用户名密码文件名称 …

Apache Doris (二十一) :Doris Rollup物化索引创建与操作

目录 1. 创建测试表 2. 创建Rollup物化索引表 3. 查看Rollup物化索引表 4. 删除Rollup物化索引表 5. 验证Rollup物化索引使用 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道,获取高质量博客内容! 宝子们点…

open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示

当使用远程服务器时,我们希望能像在本地一样写完代码后能立刻出现一些gui窗口。但是目前网络上的资料都不能很好的解决这个问题。本文尝试尽可能简短地解决这个问题。 步骤 1、在服务器上安装open3d 已经非常简化了,可以使用一行代码完成 pip3 insta…

【Java从入门到大牛】方法详解

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年7月9日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f43e…

【计算机组成与体系结构Ⅰ】实验7 IP核的使用、D触发器

一、实验目的 1:学会设计用IP核和原理图的方式设计电路,完成涉及1位数据的2选1多路选择器。 2:设计带异步置零和写使能端的D触发器。 二、实验环境 软件:Vivado 2015.4操作系统:Windows 10 三、实验内容 2.2.1 多路…

49天精通Java,第38天,类加载器,双亲委派机制

目录 一、类加载器子系统的作用1、加载2、链接3、初始化 二、验证【虚拟机必须保证一个类的<clinit>()方法在多线程下被同步加锁】的代码实例三、类加载器的分类1、启动类加载器&#xff08;引导类加载器&#xff09;2、扩展类加载器3、应用程序类加载器&#xff08;系统…

字典dict的get和setdefault,以及collections的defaultdict

一&#xff1a;dict的get和setdefault 首先&#xff0c;字典dict的get和setdefault的用法都是xxx(key, value)&#xff0c; 都是在字典中查找指定的键并返回值&#xff0c;当查找的key键在字典中存在时&#xff0c;两者作用相同。 参考&#xff1a;https://blog.csdn.net/any1…

「深度学习之优化算法」(十)烟花算法

1. 烟花算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   烟花算法(Firework Algorithm,FWA)是一种受烟花爆炸产生火星,并继续分裂爆炸这一过程启发而得出的算法。算法的思想简单,但具体实现复杂。算法提出时间并不长,但是已经有了不少的改进研究和较为全…