numpy 平方_NumPy入门指南

本文介绍了NumPy的基础知识,NumPy是使用Python进行科学计算的软件包。

d0b56ef4fd36256a3ee018354ab5a004.png

我们将在此处介绍几类基本的数组操作:

  • · 创建NumPy数组
  • · 重塑数组
  • · NumPy的数学运算
  • · 数组的索引和切片
  • · 遍历数组

首先,让我们将NumPy导入为np。 这使我们可以使用快捷方式np来引用NumPy。

95fdb55a063640165b24b3a9d74915c3.png

现在,使用array()函数创建第一个数组。

通常,可以将Python中以数组状结构排列的数值数据转换为数组。 最明显的例子是列表和元组。

e50e692c191927297531cd51a81e1f7b.png

shape属性用于返回数组的当前形状。 它是整数的元组,给出了相应数组维的长度。

对于arange()函数,我们传入一个开始,一个停止和一个步长,它返回给定间隔内的均匀间隔的值。

fb833570364c414a99ea9c183899407d.png

因此,假设我们想将此数字数组转换为三乘五数组。 我们可以使用重塑来做到这一点。

7dbb9c9fe118576aa2bf20ccd3e3e686.png

linspace()函数类似于arange,不同之处在于我们告诉它要返回多少个数字,并且它将相应地分割间隔。

1894331ae2b52dd6bc0f045c5f1b671b.png

我们可以使用resize返回具有指定形状的新数组。

49ee89600c760098c0fe0417f7ea21f9.png

NumPy提供了几个函数来创建具有给定形状,类型和初始化值的数组。 ones()返回一个1的数组,zeros()返回一个0的数组。 eye()返回一个对角线为1的数组,其他地方为零,并且diag()构造一个对角线数组。

9a20402e0d1e9a7cf442406e50830d14.png

要创建具有重复值的数组,我们可以传入重复列表,也可以使用Numpy repeat()函数。

948cf386e12945b621fb59051c3b71bc.png

我们还可以使用vstack()和hstack()函数组合数组以创建新数组,例如分别按垂直顺序(行方向)和水平顺序(列方向)堆叠数组。

edc4e1c43d12fdf7466ce1af55896788.png

现在,让我们看一下Numpy数组可以执行的一些操作! 执行加法,减法,乘法和除法非常简单,将数组中的所有数字均乘幂即可。

dot()函数返回两个数组的点积。 对于二维向量,它等效于矩阵乘法。 对于一维数组,它是向量的内积。

1a97d7217c34dcb484b1fa7e39cbfc88.png

让我们使用先前的数组y及其平方值创建一个新数组。 该数组的形状为(2,3)。 我们还可以使用T方法对数组进行转置,置换数组的尺寸。转置后的数组的形状为(3,2)。

8db8070414fdaf342cafcb772f4a39ee.png

NumPy还具有许多有用的数学函数供我们使用。 sum()函数返回给定轴上的数组元素之和。 max()返回数组的最大值或沿轴的最大值。 min()返回数组的最小值或沿轴的最小值。 mean()返回数组元素的平均值。 默认情况下,平均值取自展平的数组,否则取自指定的轴。

09011ab0fd9438d6018733b9af6d6962.png

要找到最大值或最小值的索引,可以使用argmax()和argmin()。

1deebb15ae31f86de4ed91f56845f28a.png

让我们了解如何编制索引和切片!

我们首先创建一个数组,其平方为0到12。我们可以使用方括号表示法来获取特定索引处的值,而使用冒号表示法来获取范围。 请参阅以下示例。

43e02dd4f625bba5e5c1d34fcdf726e5.png

让我们从数组的最后三个元素中分得一杯slice。

1a1861dc5e369ad4324dc8e2808a6832.png

在这里,我们从数组的末尾到数组的开头开始第四行,然后倒数三行。

67795cfd73a72d5fe7163aa1bcde6a31.png

下面的示例显示了它如何扩展到二维数组。

614a464fc495597b82eab481ec4ea3e4.png

本示例返回一个数组,该数组是原始数组中大于31的元素。

e2680edeb00cc2db2ba7a56c209c92d5.png

以下分配将这些元素带入我们原始数组中,并将它们分配为新值0。

f2966c6940c46ff5f3154d7b439cb257.png
0bdf1b075a048828c7d6e4b84b9e29e8.png

让我们创建一个新的数组r2,它是数组r的一部分。 现在,让我们将该数组的所有元素设置为一个。 当我们查看数组r的原始版本时,我们可以看到r中r2中的切片也已更改。

如果我们希望创建一个不会更改原始数组的r数组的副本,则可以使用NumPy的copy()函数。 我们看到,如果将r_copy中所有元素的值更改为5,则r保持不变。

852191cbc6505d41bac5c6746534b72f.png

最后,让我们看看如何遍历数组。

cc25cbd061ab0f2dd68b536cc9f56988.png

如果我们希望遍历两个数组,则可以使用zip()。 请参阅以下示例:

36a6d72ca71f94ee45fc1a2a0ab78d6b.png

如果您想了解有关NumPy的更多信息:

有关NumPy中功能和模块的更多详细信息,请参见https://docs.scipy.org/doc/中的功能和模块。

本教程中包含更多示例:

谢谢阅读。

(本文翻译自Nesrine Ammar的文章《A beginner's guide to NumPy》,参考:https://medium.com/@nesrine.ammar/a-beginners-guide-to-numpy-fcc012841ac5)

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

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

相关文章

android 揭示动画_揭示垃圾收集暂停的时间长度

android 揭示动画有几种方法可以改善您的产品。 一种这样的方法是仔细跟踪用户的体验并在此基础上进行改进。 我们确实自己应用了此技术,并再次花了一些时间查看不同的数据 除了我们追求的许多其他方面之外,我们还提出了一个问题“延迟GC触发应用程序的…

10 张程序员喜爱的壁纸,需要自取~

喜欢的话就请点个再看,分享到朋友圈吧~

iptables 开放远程_JavaWeb项目的部署以及远程调试

不点蓝字,我们哪来故事?Linux环境下软件的安装Linux环境下的程序的安装、更新、卸载和查看。rpm 命令:相当于windows程序的添加/卸载程序,进程程序的安装,查看,卸载。本地程序安装:rpm -ivh 程序…

java 性能调优_Java性能调优调查结果(第一部分)

java 性能调优我们在2014年10月进行了Java性能调优调查。该调查的主要目的是收集对Java性能世界的见解,以改善Plumbr产品。 但是,我们也很高兴与您分享有趣的结果。 我们收集的数据为进行冗长的分析提供了素材,因此我们决定将结果划分为一系列…

通过反汇编来理解restrict关键字

一次难忘的面试经历多年前,一次互联网某厂实习生的面试题,题目的代码片段很简单,如下:1 #include 2 int main()3 {4 int *restrict pInt (int*)malloc(4);5 int *pNewInt pInt;6 return 0;7 } 12345678面试官问…

python车牌识别系统开源代码_汽车牌照识别系统【YOLO+MLP】

车牌识别系统可以自动检测并识别图像中的车辆牌照,其算法主要包括牌照定位、牌照分割、字符识别等步骤。本文将给出一种基于深度学习的车牌识别系统方案。要快速掌握开发人工智能系统的技能,推荐汇智网的 机器学习系列在线课程由于可以自动地从视频图像中…

js text 和 html,JS DOM innerText和textContent的区别

innerText和textContent很多人会困惑,因为都可以用来获取文本内容,实际上,两者还是有很多区别的,本文就将介绍这两个属性的异同,希望可以对大家的学习有所帮助。一、之前错误的认识innerText IE6就开始支持&#xff0c…

如何用耳机翻页_游戏耳机的经典之作—罗技(G)Astro A40体验

前言经常去网吧玩游戏的朋友,在家玩如果没有头戴式耳机,那体验真的会差一大截。优秀的电竞游戏耳机会带来更好的游戏体验,不仅是舒适性。像绝地求生这类FPS游戏,游戏耳机会让听声辩位更容易更精确。最近因为大促降价入手的罗技&am…

我改了500个Bug,但是!!

IT程序猿 微博网友评论:空白一页blank:不写bug怎么改bug 抠Bee:不经意间病毒都出来了我在海的这边你在哪里丫:好了,发给开发小弟了富贵小小神仙:要不然呢,那些从开发到维护的程序员不都是靠这么…

globalmapper如何选取图像上的点_OpenCV 进阶应用,用编程手段搞定图像处理

在我们生活中,常见的图像处理软件有Adobe Photoshop、Adobe Illustrator等。然而,并非只有软件才能实现图像处理,通过编程手段也是能实现的!通过编程手段实现图像处理,也就是计算机视觉。所谓计算机视觉,就…

pytorch relu函数实现_什么是pytorch?

PyTorch是一个:机器学习框架,简单易学可以看做是支持GPU计算和自动微分计算的“Numpy”库支持100多种Tensor常规算子,包括:创建、索引、切片、转置、连接、随机数、形状改变,线性代数、数学计算Tensor是一个有值有属性…

C sort 排序函数用法

最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数用法1、sort函数可…

python人脸_Python 使用 face_recognition 人脸识别

Python 使用 face_recognition 人脸识别 人脸识别 face_recognition 是世界上最简单的人脸识别库。 使用 dlib 最先进的人脸识别功能构建建立深度学习,该模型准确率在99.38%。 Python模块的使用 Python可以安装导入 face_recognition 模块轻松操作,对于简…

C语言,一把菜刀。

C 与 C 的真正区别在哪里?C是中餐厨师的菜刀,做啥菜就那一把刀,切菜切肉切鱼,都是这一把刀,刀工好的师傅,豆腐都能切成一朵花。无论你提什么概念,都能用指针给你做出来,如果不行&…

css中设置br标签之后的样式_CSS学习

语法:选择器,声明(由一个属性和一个值)注释:/* */选择器:1. id选择器,class选择器2. 组和选择3. 属性选择创建:外部样式表html <head> <link rel"stylesheet" type"text/css" href"mystyle.css"> </head>内部样式表html <h…

eclipse扩展点_Eclipse扩展点评估变得容易

eclipse扩展点编码Eclipse扩展点评估有点冗长&#xff0c;而且很少能自我解释。 当我最近忙于自己忙于这个话题时&#xff0c;我写了一个小助手&#xff0c;目的是减少通用编程步骤的样板代码&#xff0c;同时增加开发指导和可读性。 它原来是不容易找到一个表现的解决方案&am…

google账号解除游戏绑定_附方法!关于物联卡手机号的绑定与解绑

我们在使用物联卡时第一步都知道绑定手机号&#xff0c;只有绑定了手机号我们才能进行正常的充值、续费、查询等日常操作&#xff0c;当我们不再使用这些物联卡时&#xff0c;你知道怎么解绑吗&#xff1f;今天&#xff0c;我们以中国移动物联卡为例&#xff0c;咱们来看一下移…

elasticsearch原理_花几分钟看一下Elasticsearch原理解析与性能调优

基本概念定义一个分布式的实时文档存储&#xff0c;每个字段 可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展&#xff0c;并支持 PB 级别的结构化或者非结构化数据用途全文检索结构化搜索分析VS传统数据库传统数据库提供精确匹配ES提供精确匹配全文检索…

spark wai_WAI-ARIA对自动完成小部件的支持

spark wai在这篇文章中&#xff0c;我想讨论一个AutoComplete小部件的可访问性。 在您键入该字段时&#xff0c;通常会使用“自动完成”窗口小部件提供建议。 在当前的工作中&#xff0c;我基于Twitter的Typeahead &#xff08;一个灵活JavaScript库&#xff09;实现了JSF组件&…

快速学习C语言的途径,让你少走弯路!

1标准C语言能干什么&#xff1f;坦白讲&#xff0c;在今天软件已经发展了半个多世纪&#xff0c;单纯的C语言什么都干不了。标准C语言库只提供了一些通用的逻辑运算方法以及字符串处理&#xff0c;当然字符串在C语言看来也是一种操作内存的方法&#xff0c;所以单纯的C什么都做…