numpy实例,numpy库基本方法总结
Yyds干货库存
NumPy是Python科学计算中最常用的核心库。它可以为这些数组提供一系列高性能的多维数组对象和工具。【重点:数组接口是Numpy最重要的特性,没有之一。】本教程以实践代替教学,通过实际操作来把握知识点的学习,保证大家能够实际应用所学的编程知识。毕竟,熟能生巧。
没有Numpy为什么学不了Python?就拿NumPy这个可爱搞笑的名字来说吧,其实人家很认真的。NumPy是数值Python的缩写。简单来说,NumPy是Python中的线性代数库,可见NumPy在Python中的重要性。
NumPy之所以是Python中最常用最重要的核心库,是因为很多类似的库如SciPy、Matplotlib、Scikit-learn、TensorFlow等。都在一定程度上依赖于NumPy。比如TensorFlow,内部使用Numpy来处理Tensors中的多个操作。
在数据科学或者机器学习的过程中,NumPy可以为数组提供数学和逻辑运算,同时也为Python中的N数组和矩阵运算提供了各种函数。
NumPy对于数组的数学和逻辑运算非常有用。为Python中N数组和矩阵的运算提供了很多有用的函数。易于使用的NumPy可以简化复杂的数学实现,使编程概念更加数字化和易于理解,因此也被广泛应用于各种开源项目中。
如何开始使用NumPy?
使用教程附带的源代码学习Python IDE中的NumPy,只需QuickFix就可以一键安装。有关如何安装NumPy模块的更多信息,可以查看如何手动下载和安装依赖项。
【来源门户】https://d1590a0dfb-share.lightly.teamcode.com
NumPy跟进1:修改学业成就曲线
如前所述,数组是NumPy的核心功能,也是最重要的特性。所以第一阶段的练习是用NumPy.array()创建一个数组,然后通过NumPy的内置函数修改计算数组的内容。
场景描述
假设你是大学老师,最近期末考试你错过了最难的考题,所以学生成绩不理想。即便如此,你还是很善良,不忍心看到大量学生不及格,所以决定修改学习成绩曲线,让大家的分数看起来合理。
你一年级论文的分数是:[42,35,64,85,51,72,59,12]。从这个角度来说,八个人中有五个失败了,有点苛刻。
问题解决
我们用numpy.array()导入这个分数,即numpy.array ([42,35,64,85,51,72,59,12])。如果使用import numpy作为np,应该在代码中将numpy.array()改为np.array()。[注:数组()需要加上方括号。】
NumPy中的数组将数据元素存储在相邻的存储位置,可以通过索引号直接访问这些位置。这里的数组是一维数组,随着学习的深入,我们会逐渐接触到二维数组…… N维数组等等。
[查看源代码]https://d1590a0dfb-share.lightly.teamcode.com
如果不使用NumPy处理分数曲线的话,我们需要对每一个分数反复加分,然后再加起来。NumPy将这些数据组合成一个数组后,可以统一处理这些数据,不仅免去了繁琐的for循环,而且代码看起来更加简洁明了,降低了代码bug的概率。一般来说,这个过程称为矢量化。
在这段代码中,我们主要使用了自建的。mean()函数和。NumPy中的clip()函数。前者是均值的函数,简单易懂。的。clip()函数确保数组中的值不超过给定的上限和下限。clip的意思是“修剪”,因此它应用于代码的方式如下:
Numpy.clip(要修剪的变量,下限,上限)
修改分数曲线时,我们需要修剪的变量是new_grades,下限设置为不低于原分数(否则被降级的同学就惨了),然后上限设置为100分。毕竟100分是100分制的上限。这样直接用旧的传统print()进行打印,新的乐谱就出来了。
刚开始,你其实不需要担心眼花缭乱的各种功能,也不需要担心背这些内容。通过拥抱各种模块的文档,可以快速理解各种模块的功能。因此,这样的文件有时被称为备忘单或食谱。换句话说,合格的程序员必须学会查找和阅读NumPy的官方文档。
NumPy练习2:搜索学生的班级和成绩
最后一课是关于一维数组的。这一次,我们来看看NumPy是如何处理多维数组中的数据的。
场景描述
因为大学卷子太难评分,你选择退而求其次,考教师资格证成为高中体育老师。这一次,我们将使用NumPy分别记录学生的姓名、班级和年级。
在这个场景中,我们将在NumPy中应用记录数组(也称为结构化数组)。这种数组可以指定数据类别(如str字符串、int整数、bool布尔运算等。)和名称,这使得数据过滤更简单、更强大。
我们来看看数据原始资料:
data=np.array([
(丁一,1,87),
(刘二,2,68),
(张三,3,72),
(‘李四’,3,55),
(王五,3,93),
(《刘钊》,2,81),
(《孙棋》,1,75),
(‘星期一’,1,88),
(‘五九’,2,64),
(《郑石》,2,49),
],dtype=[ (name ,str),( class ,int),( score ,int)])好像除了把名字排列的特别整齐以外,其他的类和分数都不乱.不就是要按照班级来整理学生吗?高分学生该表扬低分学生该批评?
练习
我们在上次练习中直接给出了标准答案。这一次,还是需要我们自己去尝试。不要担心,还是会有一些提示和解释,但是在核对答案之前,你还是需要思考以下话题:
#已知
数据[0]的输出是(丁一,1,87)
数据[名称]的输出是[丁一六二张三.]
数据[data[ score] 59][ name]的输出为[丁一刘二张三王五刘钊孙棋周拔武九]。使用data[]函数查找:
低于及格分数的学生姓名。分数最高的学生的姓名、班级和分数。【提示:np.max()】各班学生姓名、班级、分数要按分数倒序排列。[提示:np.sort ()]
学生可以打开一个新的文件,尝试手动做题,然后在源代码中查看score2D.py的参考答案,查看并运行项目:https://d1590a0dfb-share.lightly.teamcode.com在线。
最后,无论学习编程还是其他内容,只有实践、实践、再实践,才能在知识的基础上走得更远。欢迎来到源代码和之前的Python教程中的扩展练习和答案:
如何看待Python(PyScript)作为浏览器前端开发语言?
用蟒蛇龟制作蛇游戏
学习Python爬虫,通过Python入门抓取web信息。
转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。