粉丝263获赞2352

这一节我们讲一下数据分析里面的三剑客,就是我们的 nampy, pandas 以及 matter pro 这三个包,这三个包可以用来做数据分析,数据可视化。这一节我们先介绍一下这三个包的安装, 首先我们安装一下 numpy 这个包,我们首先需要用 windows 加 r 组合键调出我们的 windows 面内行。 然后这里因为我这里我是装了双版本的 passion, 就进入了 ps 二的环境,如果输入 ps 三就进入了 ps 三的环境,所以 我这边我每次执行的时候,我都需要指定指定 pass 的版本,如果同学们只安装了一个版本的 pass 的话,可以直接输入 pass 就行了, 这个没什么关系,我这里先用用 pip 命令来安装这个 ice 的那样皮包。 这里因为因为拍摄他的很多第三包网站都是在国外的,所以我们这里需要用一些国内的加速的一些 cban, 比如说可以用什么清华的源,中国科学技术大学的源,我这里用的是阿里云的源,用国力的源的话,他会下载,下载速度会快一些, 这个速度是很快的,如果你不加这个障碍参数指定国内的圆的话,他就会下载的很慢, 这个速度还是很快的,十三到几秒钟就下完了。然后我们怎么证明这个包已经下载成功了呢? 我们还是在还是在命令行输入我们的导入这个高的命令。 首先这里是需要进入派送环境的,有 pot n, u, m, p y 可以看到已经导入成功,表明我们这个拉皮包确实安装成功了。 接下来我们安装这个 pandas 吧,这个大熊猫包还是用于刚才类似的命令,我这是一个 cmd, 我是一个马克档的一个编辑器哈,这个是拍叉母自带的,左边可以编写,右边可以预览, 还是用类似于刚才的命令执行回车都可以。按理这个云这个下载速度还是很快的。 正在安装 style, 这个包的下载他要慢一些。 安装完成了,然后我们还是要验证一下,我再开个窗口,不然的话老是切来切去的,感觉还是有点麻烦。 导入成功啊,表面这个潘达斯把我们已安装成功了,然后接下来我们再安装这个第三个包,就是这个可视化的一个包, mac pro 的这个包来安装, 我这里先把这三个包安装好,后面再详细的去讲解每个包的具体用法。当然如果后面因为这个课程,我是会不断的更新的, 后面如果我要再安装,再讲解其他的包的话,这个包的安装我也会在这个页面去更 新的。同时这个文件,这个文档我也会同步到网上的,就是这个文档都是免费的,免费放开的,但是这个视频呢, 是不公开的,是这样的,比如说后面可能我想啊拓展一下知识,呃,给大家讲解一下另外的数据分析包的话,我可以在后面继续去编写,比如说第四个包,什么什么包, 这个大家不用担心,这里我们再继续安装最后一个包,银行清理一下, 还是用类似的命令回车, 这个下载还是很快的, 安装完成了,我们还是来验证一下。 进入拍摄的面临床 啊,这样的话就导入成功了啊。到这里为止,这三个最基本的 ps 数据分析三剑客这三个包已经安装完成了啊,接下来的章节里面我会详细的介绍每个包的使用方法, 然后各后面这个课程也会不断的更新,也会去讲解一些其他的牌子数据分析的包和用法。

如果你打算在拍档中做数据分析、科学运算、数据处理,那你多少会用到囊派就不哭,当然,你肯定还听过 pandas, cipipeal, metapolis 等等等等。囊派为我们提供了一个特殊的数组对象,我们可以用它表示普通的一位数组或者二位的矩阵,甚至任一位的数据。 并且它可以对数组中的数据进行非常高效的运算,比如用作数据统计、图像处理、线性代数、福利页变换等等等等。 我们都知道拍葬是一个很慢很慢的语言,而囊派之所以能运行这么快的原因是因为它底层是用 c 语言实现的目标代码。 但对于任何要运算的数据,我们也需要预先将他们表示成当派数组的形式,也就是所谓的向量化。但是如果你希望将运算速度再提升一个数量机,你甚至可以使用你的 gpu 来对这些数据做并行运算。那么接下来我们用实力来讲解一下囊派的基本使用吧。囊派中所有的计算都是围绕着数组进行的,因此在运算之前,我们需要将数据表示成数组的形式。我们首先需要导入囊派这个库,并起个别名 np。 然后我们可以用 n, p, lv 来创建一个数组,括号中是数组的初始化数据。当然,我们可以用 zero 创建一个全零的数组,这里传入的参数是数组的尺寸。三二代表一个三行二列的数组。 在 number 中,数组可以是一维的、二维的,甚至是更高维度的二维数组可以用来存放矩阵或者表格数据。多维数组通常用来表示更加复杂的数据。在 number 中,我们会用到 shape 来获取 数组的尺寸。比如这里的三是数组第一位的尺寸,我们可以理解成行数。二是数组第二位的尺寸,我们可以理解成列的个数。 类似的,我们可以使用 one 创建一个全部是一的数组。另外,我们可以使用 a range 创建一个递增或者递减的数列。类似于 python 的 range in space 会返回介于某个区间等间距分布的数,前面两个参数是区间的范围,第三个参数是输出样本的总数。另外,我们还可以通过 random rand 生成一个随机的数组。 在囊派中,数组默认的数据类型是六十四位的浮点数。不过我们可以在创建数组时通过 dtap 指定其他的数据类型,比如三十二位的浮点数,十六位或者八位的整形数,甚至是布尔值 等等。对于现有的数组,我们也可以通过 s type 来转换数据类型。在 number 中,我们可以轻松地对数组进行常见的数学运算。两个相同尺寸的数组可以直接进行四则运算,他会将数组同位置的元素进行加减乘除。 在乘法运算中,还有一个 dot 函数,它会将两个项量进行点乘运算。另一个与乘法相关的是 at 符号,它会进行矩阵的乘法运算,而不是相对应的元素直接相乘。 我们还可以使用 square root 对所有数依次求平方根,使用 n, p sign, qual sign 进行三角函数运算或者 log power 进行对数和指数运算等等。当然,你也可以直接将一个囊派数组单独与一个数组运算,囊派会分别计算各个元素与这个 数的成局,产生一个同尺寸的新数组。这个操作在囊派里面被称作广播。比较有意思的是,不同尺寸的数组也可以直接做运算。在运算之前,囊派会将两个数组扩展至相同的尺寸,然后再将相同位置的元素相加。 另外呢,我们还可以通过 main 或者 max 返回数组中最小或者最大的元素 arc。 main 和 arc max 会返回最小或者最大元素所在的缩影。 some 会返回所有数据的总和。 mean median 会返回数据的平均值,中位数 ver 和 s, t, d 会返回数据的方差和标准方差等等。对于以上提到的函数,如果你的数组是多位数组,你还可以指定一个额外的参数 axis。 当 axis 等于零时,它会将 将每一行中对应的数据相加。 x, x 等于零,代表第一个维度,也就是行。以此类推, x 等于一,则代表第二个维度,也就是列。 如果你想要获取数组中的元素,你可以使用与拍档类似非常类似的语法。比如,如果你要获取第一行第二列的元素,你可以使用下标零和一,中间以逗号分格。 另外,我们还可以按条件筛选出指定的元素,比如,在方括号中输入 a 小于三则会返回所有小于三的元素。 我们还可以通过逻辑运算符组合不同的条件,比如下面这个例子,将筛选出所有大于三并且是偶数的数。这里需要注意的是,语运算需要用 and 符号表示,后运算则需要用竖线表示。如果你要获取第一行,但是一到二列的所有数, 你可以使用零冒号二这种切片的语法。零冒号二代表可以取零到二这个区间,但是不包括二。这和拍丧中 list 的切片方式是完全一样的。 如果你要获取第一行,但是所有列的元素,你可以单写一个冒号,然后将冒号前后的范围给省略掉。但是你也可以直接把整个冒号给省略掉。 另外,我们可以在冒号的后面再加一个冒号,第二个冒号的后面可以跟一个跨度 stride。 当跨度为二的时候,我们会每隔两个数取一个数。当跨度为三的时候,我们会每隔三个数取一个数。 但比较有意思的是,这个跨度还可以取复制,我们可以通过复数的跨度从右往左逆向返回这个数字。比如在南派中会经常看到双报号负一 的写法,其实他做的事情呢,只是将数组翻转了一下而已。但是说了这么多,观看一堆数字确实也不够直观,不如我们来看一下囊派的一个典型应用图片处理。 通常我们可以把一张灰度图看作是一个二维的数组,数组中的每一个元素用来表示像素点的亮度值。对于彩色的图片,我们可以用三位数组来表示,数组中的第三位分别存储了像素点的红绿蓝分量。我们可以使用 plu 这个库在拍档中读取图片文件。 随后我们可以通过 npr 将图片转换成一个囊派数组。可以看到这个图片一共九百六十行,一千两百八十列,并且有红绿蓝三个颜色分量。我们可以通过下标来访问某个像素点的颜色,也可以通过这种方式单独提取出所有像素点的红色分量。 我们也可以通过这样的公式将两张图片按比例混合在一起。需要注意的是,这里运算的结果是浮点数。为了显示图片,我们需要将图片转换成整形数。 另外,我们可以利用之前讲到的跨度对图片进行降彩样。如果我们想要翻转图片,我们可以使用跨度负一。这里由于我们指定的是第一个维度,因此图片会上下翻转。如果我们想要裁剪出图片的某一部分,我们还可以使用之前讲到的切片。 在视频最后呢,我们稍微做一下总结。我们知道囊派大大提升了拍藏中数据计算的速度。其实囊派中更加核心的是将问题向量化、并行化的这种思路,这种思路在其他的技术中,比如 cmd 大学的编程深度学习的时候也都会用到。比如我们可以用纯安排的办法来实现生命游戏。如果你去阅读程序圆满的话,你发现这是一个完全向量化、并行化的程序实现。 对于安排的基本使用,官方文档永远是最好的学习资料。如果你想继续深入的话,这个绝对是本不可多得的好书。 里面提到了像数组的内存布局、视图副本等等这些高级概念,还讲到了生命游戏的实现流体动力学,比如烟雾水面的模拟,非常值得一读。

在经营数据分析的时候,我们通常会安装一个模块叫做安排,那我们先来看一下这个模块的安装方式, windows 加 r, 我们选择什么? cmd, 然后呢在这呢它的安装命令是叫做 pit 阴照 num p 牌安排,这样的话会从国外的镜像园去查找我们想要的东西,但是呢速度会非常慢,所以咱们采用国内的镜像园叫 pip east 安排,后面这个东西是固定不变的,你只需要复制就可以了。 然后呢我把它进行单击,右键粘贴过来,那么他就会处在一个安装的过程当中,他可能会需要点时间。那么当安装完成之后,你会看到 这样的一个叫 circle 三福利,说明你是安装成功的。那现在呢,我们进行一个测试,叫做拍损, 进入到拍子的交互时应用程序当中,我们去输入一个叫 numpy 的,那么程序不报作,说明安装是成功的。

今天我们来学习这门课的第二部分,数据分析 no pad, 其实这个 no pad 呢,它是一个呃,是一个科学计算库啊,是一个科学计算库。下面呢,我们先来看一下这个 no pad 的 一个简介。 no pad 呢,它是 科学计算呢,就是帕森来实现科学计算的一个核心库,他主要面向的,面向的这个计算的对象呢,就是数主, 那么数主呢,将会以矩阵的形式参与矩阵相关的运算。这个农派这个库呢,就呃最经常的用到了这个数据的分析及其学习 和数字计算,还有科学计算这些领域啊。农派呢,作为 passion 的 核心计算库啊,就是科学计算的核心计算库,有三个优势。第一个呢, 它的底层采用 c 元边写,它的数值计算的效率比用列表啊,比用 pass, 最呃就比用 pass 那 个基础数据类型,这个列表呢快十到一百倍,所以它适合这种大规模的计算。 第二个呢,它采用的是一种独特的广播形式啊,采用这种广播机制能够呢智能的将不同形状的数组进行制对齐啊,这样就简化了局镇的操作。第三个呢, 就是纳帕提供了丰富的数学函数库,那么这些库呢,包括了向量代数,还有随机数生成等 这些经过高度优化的函数呢,能够让研究人员和工程师呀,更加高效地来实现数值计算或者是科学计算这些任务, 这些共同的特性呢,让南派成为数据科学,积极学习工程实践呃,工程计算领域呢,不可缺少的这种基础最基础的一种工具。

朋友们好,我是陈阳,今天呢,我们来正式学习拍摄数据分析的知识,那么拍摄数据分析呢,主要有几个工具,也就是当派,潘大师和麦当劳例部, 那么这三个工具呢,在数据分析领域呢,被称为三剑客,也就是来突出这三个工具对数据分析的重要性。 我们今天呢,我们就先来讲囊派,用潘大斯和麦克佛勒股呢,我们后续会讲,潘大斯呢,就是在囊派的基础上开发的另外一个更高级的库,也就是一个囊派的一个更高级的一个库。 呃,其中集成的函数也是比较多的,比较广的,实用性也是非常重要的,也就是 plus 呢,是数据分析的一个重要的知识。后续我们会讲,那 mate plule 呢,就是一个绘图库,比如说 做一些数据分析,可视化之类的,那么这个时候,那普拉利姆呢,就非常重要。那么今天呢,我们就先讲牡丹派, 什么是囊派呢?囊派呢是一个为拍摄提供高性能项链取证和高维数据结构的科学计算库, 那他是通过 c 和 c 加加实现的,因此呢,用项链和矩阵建立方程并实现数字计算呢,有非常好的性能。为什么会有非常好的性能呢?因为我们知道 c 和 c 加加语言写出来代码的运行非常快, 也就是说当派呢,在处理数据分析一些知识呢,一些一些问题呢,他会运行的会非常快,所以说会非常高效,有很好的性能。我们当派呢,基本上呢,所有的使用呢,都是都是在拍摄 进行数值计算的时候啊,比如说呢,呃,在深度学习领域框架的啊,特斯普罗奥或皮帕丘,呃, 比如说构建积极学习模型呢,最基础的内容呢就是用,就是要用囊派来构建,所以说呢学会囊派呢,就在最后,对未来的发展呢就非常重要。那么数据分析呢?对囊派,囊派呢,对数据分析来讲来讲呢,也是非常重要的内容。 当派呢就是拍摄开元的一个科学计算工具包。我们先来看一下当派的一些基础知识,当派呢是一个高级的数值编程工具。 男排呢是一个强大的恩维宿主对象,他的宿主对象呢是由恩德亚瑞,也就是他,他是由呃一维或二维或恩维的宿主组成的,那么他的 基本对象就是戴亚瑞,还有比较成熟的广播机,广播机制的含说库啊,对数组结构直接运算的是不需要便利的。我们知道不同不同维度的数组呢,他有的时候呢,他可能需要一些相加或者相减的运算, 那么那派呢,就提供一个成熟的一个广播机制,也就是说他可以提供不同维度,比如说一维和二维的相加,他可能会他他就会把一维的一些呃一维的,一维的一些缺失的部分补充二维的,然后相加起来就就会非常方便。 那么他底层底底层呢,整合了 c 和 c 加加代码的工具包,所以呢使用起来非常快,速度非常快,那么他还有呢,使用使用的现金代数,负离液变换和随激素生成的函数,那也就是说我们在解决一些 记得呃数学问题啊,或者实际的案例,数学建模什么之类的呢,他就会有很好的一些嗯函数来解决, 比如说随机性分层的话,就是比如侦探分布,或者或者呃火火速分布什么之类的,妇联变换一些参数什么之类的变化,也是用当派可以非常轻松的实现的。 那么关于当派呢,我们这张要学习什么呢?我们这张学习呢当派的数组结构,当派的数据结构呢,就是一些数组的一些呃属性什么之类的,我们当派还要学习呢当派的通用函数。 当派的通用函数呢有很多,比如说随机生存函数,比如说一些嗯宿主创造函数等等。当派呢还有还有就是 派的常用所以及切片学习常用所以及切片呢,就很利于我们以后做数据分析,分析特定呃特定的行或者特定的列一些来做一些律例子来学习。 我当派呢还可以实现水激素,水激素呢是很重要的,比如说我们在一些呃领域的知识没法搜集数据啊,或者没法呃创造数据啊,我们可以用当派的水激素生成函数, 说随机生成零到零到一内的十个呃是十个随机小数,或者说随机生成一个侦探分布,随机生成一个呃二二项分布什么之类的都可以实现。 那么当派呢,对我们以后潘纳斯的学习呢也是非常重要的,所以说呢,这个本章呢,我们会呃 来着重讲解一下安派的一些呃基本知识,为我们以后学习呢打下基础。那么这次课程呢,就到此结束,那我们下个下节课来正式讲安派的数数据结构,那下节课再见。

嗨,大家好,今天给大家分享一下南派这个拍森的数据科学计算库,在它里面非常重要,有用的数据合并操作 依然是打开咱们拍摄的编辑器胶布台中的不可。本次这个主题的背景呢,是我们在给及学习准备数据的过程中,经常需要进行不同来源的数据合并的操作。我举两个场景, 第一个我们已经准备了一份数据,这个时候我们可能需要添加多行, 对鸡学习来说,行的话代表一个样板,那么添加多行就是添加一些新的样本进去,这是一个使用的场景。第二个使用场景,我们对现有的数据来说, 我们可能需要添加多列,对于积极学习来说,一个数据的列代表是一个特征,那么添加多列就是要增添一些新的特征进去,这是一个非常常见的场景。 有这两个需求,我们就需要进行竖住在行为度和列位度的合并。南牌中整体呢有这些方法。第一种是叫做 np 点 conk, 这是一个可以按行也可以按列进行合并的一个方法, 就是说这个方法就可以满足需求了。但是安排呢,他也提供了一些便捷的函数,有这么些 n p 点 v stick, 或者说 n p 点 rose stack, 这两个呢都是按行进行数据的合并,这个 v 代表的意思呢是 vertical, 就是垂直方向沿着垂 方向进行数据的合并。另外两个背景的方法是 n p 点 h stack 或者 n p 点 column stack, 它指的是按照列进行数据合并,而这个 h 呢,就是水平的这个单词的意思, 我们就是代表演示。首先呢有人安排这个包点这个状运行,然后呢接下来分两块,一个是怎么给这样的数据添加新的多行,第二个呢是怎么给新的数据添加多列?我们先看第一个怎么按行合并, 这里我首先构造两个二位数组,我们看一下 a 和 b, 我们看到呢, a 是两行三列, b 是四行三列,大家注意这列呢都是三列,这样的话我们可以按行 进行对齐合并。这 a 怎么来呢?就是 atten rent 六就是零到五的数字,然后呢 reshape 二行三列, 而 b 呢,我们取的是随机数,取的是十到二十之间,数据的形状呢是塞子,等于四行三列,就这样得到了 a 和 b。 然后呢我们来看一下方法一是 n p 点 conconnect, 方法二是 v stick, 就是沿着 v 沿着垂直的方向。方法三就是 rosatic, 就是按行进行合并。 这三种结果是一样的,我们看第一个砍开的内气,然后就是两行三列加上四行三列,变成了这样的六行三列。方法二, v steck, 我们看一下没有问题,一样的 发三 rosac 运行,一样的结构。这三个方法呢就是我们给线上数据添加新的行的时候可以这样使用。我们来看第二大步怎么给线上的数据添加多列, 同样是一个 b, 不过尺寸不一样,我们看一下 a b, 还有我们看到 a 呢是三行四列, b 呢是三行二列, 这里什么意思呢?就是他们的行是一样的,都是三行。比如说呢,我们有三个样板,有四个特征, 现在这三个样本呢,又来两个特征,想把这两个特征呢合并到原来这个数据里面,我们看一下 a 怎么来的,同样的 r 你十二,然后呢把这十二个数字给变成三行四列的矩阵,而 b 我们一人随机数十到二十之间赛,就是尺寸 是三行二列,那么怎么把 b 给添加到 a 的后面,就是添加多列呢?我们看一下放一,放二,放三,他们的结果都是一样的,放一使 n p 点砍开的那次,然后传个列表 a 和 b, 这里 x 等于一,就是按列经合并上方。我们这第一个方法呢,没有加 x 等于这个参数,是因为他默认是 x 等于零,就是按航和并, 然后这里放二就是 h stuck, 意思就是说水平方向进行数据的合并,放三 colum style 就是按列合并,这三个他的效果是一样的。运行看一下,第一个 没有问题,就是三行四列加上三行两列,变成了三行六列,我们再看方案二, 哎,结果是一样的,方法三结果也是一样的,上面呢就是我们代码的演示,我们回个头来再总结一下,其实按航和按列合并,使用 n p 点抗开的内测都可以实现,使用 x 等于零,就是按航等于一,就是按列。 单人单派呢,也提供了一些便捷的函数,比如 v steck, ruse steck 就是按行进行合并, a steck 和 column steck 就是按列进行合并,这就是函数。如果你已经继续学习的数据准备的时候呢,一定会用到,大家可以自己尝试一下,我们下次见,拜拜。

这两天 module sdk 发布了,那是前几个月,据说能比 python 快个上万倍的一个新的语言,我们来安装一下。 首先呢,这是一个安装 modular 的一个指令,他过一会就安装完了,然后我们再用 modular 来安装 module 语言, mojo 也安装成功了,我们接下来试试跑几个程序。 这里呢,我们按照官方的方式来打, 打开我们的 vs code 编程环境, 先进入一个空的目录,然后再打开这个 west code。 对,我们打开了这个 face code 的环境以后,我们再来安装一个插件,用来渲染这种新的编程语言 以及在线文档。这里呢,要安装 w s l 的一个插件, 然后我们可以看一下官方的 hello word, 最简单的一个案例,跑一跑, 这里有几个路径需要配置一下。 我们再打开一个命令行窗口来输入这几条命令, 然后我们可以跑一下他的在线 命令行,类似 python 的这种解析器的一个功能, 这里要敲两次回车,它就会显示一个 print 的结果。接下来我们再试一下创建一个 module 文件来跑一跑试试看。 我们在 vs code 里面创建了这个文件,然后把文档里面的这两行代码贴进去,保存文件, 然后再回到我们的命令行, 这里有个提示,我实际我们可以不关心,因为我们需要在 westcode 里面配置这样一个路径, 我来带大家配置一下。首先在 files 里面点击 preference, 然后 settings, 然后在搜索框中搜索 module, 然后找到 module home pass 这个环境变量。我们要点击 homes workspace, 然后在这里配置它的一个环境变量的值。然后我这里是我的用户名,大家可以修改为自己的用户名。 这里保存以后,我们回到任何一个 module 文件,然后就可以查看它的一些文档。 回到刚才的 hollow word 程序的例子,我们新开一个命令行,在这里直接输入 module hollow word 点 mojo, 然后它就会像刚才一样运行,但是以一个文件的方式来运行这个代码。 某九还支持把一个文件编译为一个可执行的文件,这样的话就不需要依赖整个外部的 library 来运行,方便部署为一个可执行的代码。 我们可以看见这个 hello 刚编译出来的大小大概是一点七兆左右,里面包含了他所有需要运行所需要的依赖的东西,非常方便部署。 接下来我们通过一个矩阵相乘的案例来演示各种计算方式的计算性能。首先我们用拍审原声代码来实现这个矩阵相乘, 这个相乘的矩阵是一个一二八乘一二八维度的矩阵, a 和 b 相乘得到一个相同维度的矩阵 c。 这里直接对每个单元格进行操作,是多从负循环来实现的,效率的话会比较低。我们来试下它的性能, 这里呢,它的性能是零点零零四 g flops, 我们备注一下, 然后再用下一个方式,也就是 number 来实现。 number 呢,他有专门的矩阵乘法的一个函数,性能的话比 提升了大概六十倍的左右的一个性。然后我们再用 module 的最基础的一个 passion 代码来实现,也就是在 module 中跑一个 passion, 我们看看它的性能会不会比原声的拍摄有所提升,这里呢,跑 mojo 的话,我们是用 mojo 的迷你行来跑,可以看见它的值大概相比原声拍摄提升了大概有有两三倍的一个效果。 然后我们再来试一个下一个 model 代码,这个是对变量进行的静态化操作,也就是把它变成了一个可预知的一个变量类型,这样的话 变异器的话就能对所有的操作进行相应的优化,以提升它的速度。我们来试一下它的运行效果, 可以看见这里有明显的提升,大概相对于原来的最初的原声拍摄有近千倍的速度提升。 最后我们来试一下这个 model 向量化的一个优化,也就是对所有的操作 如果能用向量化来进行计算,这样让所有来释放更多的并行计算的能力,可以看见他的最终效果已经比原声的拍摄接近一万倍的提升。 最后我们来试一个用拍拓起调用 gpu 的功能来计算矩阵的乘法。在这里呢,虽然前几者选项都是用的 cpu 来计算, gpu 的话肯定会有明显的差异,我们来试试看具体效果如何吧。 这里呢,我们得用 python 来跑我们的拍 torch gpu 程序 在第一次计算的时候,它实际会让 gpu 来加载一些些代码,这样的话会对它的性能有一些损耗,所以的话这里的七十一并不是它的一个正常的表现, 我们可以再试试再跑一遍刚才的这个拍拖及 dpo 的代码, 这里呢,可以看见他的性能已经完全被释放出来了,跟前几者完全是不在一个数量级上的。最后让我们用一张图表来对比所有运行 时的一个性能对比,可以看见原声的是最低的,然后 model 向量化的话,它实际性能还是比较好的,虽然 跟 gpu 的版本有很大差距,但是它毕竟是在 cpu 上运行的,所以的话我们也很期待接下来 mojo 对 gpu 的这种原声加速硬件的一种支持,得到更大的性能提升。

number 二为数组,要求所有行的列数一致。 delete 函数,删除数组的指定元素参数 r, 待删除元素的输入数组 obj。 要删除的元素缩影 可以是整数列表。数组 x, s 等于 n, 转为一,为数组 x, s 等于零,按行为读。 x, s 等于一,按列为读。如下,代码可轻松删除第三列数据。 insert 函数,在指定位置插入值参数 values, 要插入的数值或数值如下,代码指定在第三列插入数据。 append 函数,将指定值追加到数值末尾,如下,代码在数值末尾新增一行数据。 unique 函数,去除数值中的重复行或列,如下,代码去掉一个重复的列。 split 函数,按行或列分割数值对应分割点的缩影如下,代码按行进行分割, 通过数组名和指定行列缩影可修改二为数值的元素值如下,代码修改第二行第三列的元素值为八,通过数组名行缩影可修改行数据如下,代码修改第二行数据为九。二。五。 通过数组名冒号列缩影设定列数据如下,代码修改第二列数据为六。一。 接下来是实战时间,可用 delete 函数删除。元素参数里 x, x 等于一,表示暗列操作。 insert 函数,在指定位置插入数据。 obj 等于二,表示插入到第二列的位置。 values 等于三。六,是要插入的数据 x, x 等于一,还是暗列差 app 的 函数用于扩展数组 x, x 等于零,表示按行追加。 接下来是去重操作,有 nik 函数加上 x, x 等于一,意思是按列去重,只保留不重复的列, 然后用 split 拆分数组 x 等于零,按行拆分三表示拆成三份,咱们现在的数组正好三行,所以会拆成三个一行二列的小数组。 最后咱们换个玩法,直接修改数组里的元素,先重新创建原始数组 a, 先用缩影定位到第二行第三列的元素,把它改成八, 再进一步直接修改整行,把第二行的所有元素换成九二五,用 a 一 冒号表示第二行的所有列。 最后试试修改整列 a 冒号一表示所有行的第二列,把它改成六一。怎么样?囊派数组的增删改查是不是超简单?跟着敲一遍代码你肯定能掌握。

enditer 是 number 针对 andre 打造的专用迭代器,核心特点是高效参数 o p。 要迭代的数组可传入单个数组或多个数组。 flex 迭代器行为标志,如 multi index 返回元素的多维投影 o p flex 数组的操作权限,如只读 read only, 读写 read write。 如数据元素都乘以二 d type。 数据类型,如整型、浮点型,默认自动推断 order 迭代顺序,默认值为 k, 按数组存储顺序 值为 c 时,行优先迭代值为 f 时,列优先迭代。 好了,接下来是实战时间。废话不多说,先用 nd 来实现一维数组的便利操作, 通过 arrange 函数生成零到十一的数值序列,再利用 reshape 方法将其转换为三行四列的二维数组。在使用 enditer 便利该二维数组时,若添加 order 等于 c 参数,代表采用行优先的便利方式。 而 order 等于 f 参数,则对应 fortune 语言风格的列优先便利方式。 如果想要在便利过程中同时获取元素的多维锁影和对应的值,只需为 enditer 添加 flex 等于 multi index 参数即可。具体可通过 while 循环执行迭代,每次循环中打印 i 元素的锁影坐标,并同步输出该位置的元素值。 此外,还有一款简化版的锁影便利工具 and numerate, 直接使用它便利上述二维数组 a 二就能同时获取到元素锁影和元素值,输出结果与使用 multi index 参数时完全一致。 andit 更强大的功能在于可直接修改数组元素,为其添加 opflex 等于 read write 参数。已开启读写模式后,在循环中将每个元素乘以二,就能直接在元数组上完成批量修改, 相比手动通过缩影复制的方式,效率提升显著。以上就是 number 数组高效便利与修改的核心技巧,赶紧用起来吧!

我们可以通过使用 nopad 点 array 函数传递一个 python 列表来创建一个囊派速度。在很多时候啊,我们希望囊派能够帮助我们直接创建速度,比如惯死创建元素都为一的速度, zero 死元素都为零的速度 和南派的子模块软蛋中的软蛋函数创建元素值为零到一之间随机数的速度都接受一个参数啊,他们,呃,你需要创建的速度长度 是吧?那接着数组的运算,接着我们创建两个单派数组,一个 date, 一个万斯,然后我们将他们相加,直接按照位置顺序相加,得到元素为二和三的数组。这意味着我们可以不需要在代码中去循环来计算,这种抽象能让我们站在 更高的角度去考虑问题。而且不只是加法,减法,乘法、除法都是如此啊。有一些经常需要计算一个数组和一个数字的操作,也可以叫做对项链和标量的操作。 比如我们的数组是表示时间的数据啊,单位是小时,我们想转换成分钟,可以使用 date 乘以六十。可以看到当派的乘法机制就是对每个元素进行计算,这也就是当派中的广播记制, 在囊派中非常关键啊。接着是锁引,我们可以对囊派数组进行锁引或者是切片,就像排审列表一样的操作啊,语法完全一样。 聚合囊派提供的另外一个优点就是聚合功能,除了 me, max 还有 sun, 还有 me 可以取平均值, prad 可以获取所 所有呃元素相乘的结果,那 std, stand up 可以获取标准叉等等其他功能,然后创建矩阵。目前我们看到的例子都是一尾项链啊。当派另一个优雅的特性就是能将我们目前看到的所有特性都扩展到任何维度。 那我们同样可以通过传递一个 pass 呢?多为列表来创建一个囊派矩阵,同时也可以使用上面提到的方法, one zeros random 点 random 一为的数组,我们需要传入的是数组的长度,那多为的我们就需要提供一个原组来描述这个矩阵的维度尺寸。几行几列 就是矩阵运算。如果两个矩阵的行数和列数都相同,也可以说他们的形状相同,我们就可以使用运算符加减乘除来对矩阵进行运算。那当派同样也是基于元素 位置来进行操作,那这些运算符也可以在呃形状不同的举针上使用,但是需要其中一个是一为举针,并且他的行数或列数需要与另外一个多为举针的对应的行或者是列相同, 同样也是通过了囊派的广播机制来实现的啊。嗯,这个是点击和前面的算数运算的一个关键区别,就是在进行传统意义的举针相乘。使用点击操作的时候,囊派为取针提供了一个 dot 方法,可以计算取针的点击。 注意,在做点乘点击的时候啊,两个矩阵相邻的维度必须相同,也就是说这里一个一乘三的矩阵和一个三乘二的矩阵,前一个的列数必须和后一个的函数相等才可以做矩阵点乘,也就是相当于做了这样的操作,最后求和得出的 结果为一乘二的矩阵再看矩阵。所以当我们用矩阵的时候啊,呃,所以和切片就更有用了。 矩阵聚合和数组或者说项链一样,同样可以对矩阵进行聚合操作, max, 命丧等等。而且不仅可以对矩阵中的所有值进行聚合啊,还能对嗯,某些行或列进行单独的聚合操作, 那使用 ss 这个参数就可以进行指定。如果需要对行单独聚合,那我们就传零,因为行是第一个维度。如果是想计算列,那我们就传一,因为列是第二个维度,那更多的维度可以以此类推啊。嗯,接的是置换和变形。 有矩阵肯定就会有矩阵的变换,比如当需要计算两个矩阵的点击的时候,就可能需要对齐矩阵相邻的维度。囊派的数组有一个很方便的属性, t 可以获取转制后的句子 transform 啊啊,在更多的时候啊,你可能会发现需要变换曲声的形状,这在机学习中是很常见的。 比如,当一个特定的模型需要一个特定的形状的矩阵,而你的数据级的输入他的数据维度跟你需要的是不一样的时候,就需要这么做。那安排提供了 reshape。 嗯,函数,你只需要指定你函数所需要新矩阵的维度就可以, 同时还可以通过将维度指定为负一,囊派就可以依据举证来推断出正确的维度。接着,更高的维度,那更高的维度呢?派都可以 处理啊。这就是囊派的数组叫 n d, 而瑞的元音 n d 就是 n, dm 线等 n 个维度的意思。 你想多添加一个新的维度,只需要在囊派创建数组的函数中多增加一个维度就可以了。但是有一点需要记住的是,当你打印一个三维的囊派数组,文本的输出和这里显示的不太一样,安排对多维数组的打印顺序啊,是从后面的维度向前打印, 最后一个维度是最先打出来的,而第一个维度那是最后打出来的,因为他在最外层。

接下来这一张呢,我们要学的是叫 nopad, 那么首先我们看一下在这一张中学习目标有哪些啊? 第一个是要了解囊派的用算速度上的优势,还有就是知道一些数组的属性啊,形状类型,以及我们可以用囊派实现数组的基本操作。还有就是用这种随机数组可以创建正态分布, 以及咱们可以用囊派实现数组的逻辑用算啊,统计用算啊,以及我数组与数组之间的用算。 首先我们看一下咱们第一节内容这个囊派优势的一个介绍,那么这一节的目标呢,也这么三个,一了解囊派预测速度上的优势。二, 二知道安排在速度内存块的一个分格。还有就是知道安排的一个定型化用算。首先我们看第一块关于整体一个安排的介绍,关于这个安排呢,他是一个开 元的科学计算库,他主要用于处理任意维度的数组,然后我们南派支持常见的一些数组和举证的一个操作, 然后对于相同类型的一个任务计算。那么我们当派呢,要比直接使用 pass 要简洁很多,而且快很多。然后当派他主要使用的是 ndr 这个对象来处理我们的多维数组, 然后看一下关于这个 ndr 是什么呢? ndr 呢?它是什么呢?是一个 n 为数组类型,然后描述了相同类型的一个 items 的结合。 就拿下面这个举例来说,我们可以看到假设这里边的话,是啊,一个班级一些学生的一个层级统计,比如说语文,数学,英语,政治,体育等等,不拉不拉,那关于这里边的话,如果我们想用 nopad 来表示整体 内容,咱们只要 import nonpex np 导入进来之后呢再使用我们这个里面 sgo 等于什么呢? np 的 r, 然后在这个里面呢 团进去一个列表形式就可以了。咱们可以看到在这里面的话,我们其实是一个列表窃套,首先这块是一个列表,然后的话又是一个中国号,然后俩词窃套,此时其实就对应我们叫二维数组,那他返回的结果呢?就会变成这样一个东西。 接下来我们回到咱们代码区,给大家演示一下关于这个囊派的一个初识。我们来到这边代码区,先借一个拍成三, 然后里边的话咱们找一个,我先改一个名字试试三 he 啊哈喽,能拍 ou mpy 导入进来,有先导入咱们这个 numpys n p 导入进来之后呢囊派 n p 有了,那么接下来的话我们这块给大家演示的是第一块就一 h e i l hello, 囊派 h e l l 等于 m p y 然后过来之后呢两个减号是初失。英语 mpv e i c mc 大 目录写好,接下来的话咱们就看一下关于这个当派怎么来进行创建呢?我们主要是 n p 点 a a r a r 然后而瑞里边的话,咱们写对应需要内容, 那么写这个内容里边的话,由于这块里面整体内容比较多,我就直接从咱们的讲义里面给他拿一下,来到讲义,然后把这块需要的内容这一堆列表给拿过来复制,然后再回到咱们代码区 来,把这个东西的放到这块,然后我们用一个 sgo s u r e score 来承接它运行,接下来 s o r e sgoup 看一下,此时我们就已经把一个 nopad 创建成功, 这是咱们给大家创建男排的方式,咱们回来再这个内容呢特别简单,我只要使用 np 点 r 就可以实现整体内容。那么这个说完,接下来我们继续回到咱们的啊讲义区给大家讲解。 我们已经知道关于这个囊派怎么进行创建,那么在这里面的话,咱们就有一个问题,说我们拍森其实也可以实现这个东西,对吧?你也可以创建一个列表,通过列表来实现我们的这个多维数组,为什么我们还要使用这个囊派来实现这个 nda 瑞呢? 接下来我们就看一下关于这个 n g r 与拍散原声的这个列表 list 对应的一个效率对比。 咱们可以看到下面有这么一对代码,然后是导入 random, 导入 time, 然后导入这个囊 pass n p。 我首先创起了一个空的列表放映循环,循环了我的一亿次,然后的话再通过 a 的啊 panda 把这个循环之后呢进行随机出来的数据加到这个 a 里边。 那么加到这个 a 里边之后呢?接下来我要干嘛呢?接下来的话,首先我进行对这个 a 列表求和,列表求和求和完成,再看下一步,我们使用的是 np 的 ra npdra, 这部是干什么呢?可以把我的这个 a 转换成我的 ndra 的形式,那么此时我们就知道说 b 已经是一个 ndra 形式,也就对于你的囊害里面的一种存储方式。接下来我又使用 npt some, 然后求这个 b, 求完之后呢出现一个 sum 二,我们知道 sum 一是用的咱们原声 拍死对列表进行求和,而这个三二呢用的是我们 ndir 进行求和。接下来的话咱们就对比一下,看看他俩之间的一个时间哪个更快一些。那么在这里面呢,有个叫百分之 time, 百分之 time 呢,他是一个魔法方法,可以查看到我当前这一行用行的代码所花费的时间。 然后由于整体这个代码的话比较简单,我就在这呢不敲了,给大家把这个东西复制在我们的这个代码区,给大家演示一下这个效果。我复制回到这里边,在这 过来这一行粘贴运行,那么他这里面的话运行起来由于要计算一亿个数,所以稍微慢一点,那我在这里面稍微写一下,这里边是给大家讲的是叫 nd r r a y r 和原声 python 效率对比,然后 esc 哎拿给他, 那此时大家就可以发现运算成功,那么我们运算成功之后,大家可以看到这里边是七百八十四毫秒,而下边这个是四十三毫秒,然后差不多对应的差了我们的呃二二七十四十五倍左右。 那我们说这个里面呢,很明显我们的 n 点润运算起来效率要比我们的拍摄原声的这个列表高很多。 接下来我们接着回到咱们这个代码区看一下,我们说这里边运算效率高就高呗,为什么咱们这里边的话要有 ndr 而不用原声拍子呢?在这块呢就要给大家稍微说一下,就是咱们在后面学到的这个机器学习啊,还是深度学习啊,其实是我们的最大特点,就是我们的数据量 特别大,就比如下下面这个里面举的例子一样,我们输入一些数据,然后经过一个模型输出队形内容, 然后在这里面只是一个我们的面积给大家进行讲解。那假如出来多个,比如说有面积啊,到市中心距离啊,房屋朝向啊,还有房屋的一个几室几厅啊,所有这些数据加起来的话,是不是这个模型会特别复杂? 那数据模型特别复杂的话,我们再取前面给大家提供的叫样,本来进行训练模型的时候呢,是不是接团量就特别大呢?所以我们这里边的话,如果可以用这个 ndra 优先使用 ndra, 我们知道了说为什么要给大家讲这个 ndra, 因为他这边用算起来效率比较高,那么为什么他用算效率这么高呢?接下来我们看一下下一块关于这个 ndr 的一个优势。关于这个 ndr 优势呢?首先看第一块,就是这个内存块分隔, 咱们看到下面有两张图,这边有一块,这边是有一块,而这个叫囊派里面的阿瑞,而这块叫 pass 里面的 list, 他们俩之间有什么对比呢?我们看一下男票里面艾瑞的话,他这块存储数据是大家发现了吗?直接存储,而我这个拍摄里面的类似的列表存储数据,他并不是直接存储,而怎么办呢?他是先我从里面存的时候呢,找寻一个地址,然后再通过这个地址找找我具体需要内容。 那很明显我们通过直观对比就会发现我的左边这块效率会高很多,他直接就可以一步找到所有的需要的内容,而我右边这边的话,他还需要先找地址再找内容, 那么由这个的话要相应的对比出来一个东西,就是我们这个囊派里面从的数据的话,他的类型必须是相同的,而我们列表里面大家说他这边是类型 p 相同吗?那我就在这提一个问题,就是我们在列表里边同一个列表,可以既重储数字,又可以重储自付串吗? 肯定有会同学在这有疑惑啊,你应该大胆的说出来说可以,那如果有疑惑的同学或者说摩洛兰可同学下去自己试一下啊。这个是咱们在拍层基础里面讲内容, 那么内存块这块说完再看我们对应的第二个我们的特性就是,嗯,点瑞呢,他支持叫并行化运算,又叫下两划运算, 这个是什么意思呢?其实就是说我们如果说一个系统有多个核心的时候呢?多个核的时候呢?我们在这个 ndr 进行计算的时候呢,他自动就会给我进行一个并行运算, 这是第二个特点。第三个特点呢,就是我们的囊派,他的效率呢远高于重派的代码,是由于我这边有一个叫 jl 全局解释器所,然后我们的囊派呢,释放了 全局解释解锁,它的底层是用 c 语言书写的,不受这个 pass 的解释影响。那么关于这个 jl 呢,是咱们在我们的 pass 高级讲过,如果忘了同学,大家可以稍微复习复习。 这块讲完,接下来就看一下我们整体在这一小节给大家讲的所有内容。这一小节呢给大家来分享了四小块内容,分别对应的有什么呢?有一个安排的介绍, ndra 介绍,还有就是我们 ndra 和拍摄原声类似的一个效率对比,以及咱们这个 ndr 的优势。 那么看一下,我们首先说呢派介绍他是什么呢?是一个开元的拍摄科学库,然后他的计算起来的要比我的拍摄效率高很多,同时这个呢派呢是用 ndr 对象来处理我的多维数组, 那么安迪尔瑞介绍的话说安排呢,他提供了一个安维的数组类型叫安迪尔瑞,然后他描述了相同类型的一个 items 的集合,然后如果要申请这个安排的 用的是 npdr 就可以实现。然后 ndr 的优势第一内存罐分格,然后类似的是分离式, ndr 是叫一体式,然后 itr 呢,它是支持叫并行换运算。还有就是 ndr 它的底层是用 c 语言写的,效率更高,释放了一个全局解释,所。

两个 filter 纵向横向错列交叉动态查找,建议收藏。大家好,我们今天来给大家分享一个教程,如何用两个 filter 函数实现一个纵向横向交叉,一个全方位的一个插头数据。 这个函数只有新版本才有,以前老的版本是没有的啊。然后因为好多朋友啊,会用 vlookup 加骂茄啊,或者会用这个 xlookup 去实现这样的一个纵向横向的一个交叉操作数据。虽然可以啊,但是呢,我们用这个 filter 啊,也能实现。首先在这个 原始数据里面,首先在这个原始数据里面,他呢每一列的顺序是这样的啊,然后在我们查找区里面,他的这个顺序跟上面的原始数据是不一样的,也就是说他是一个错序的,这个顺序是错的,错序的一个这个数据想根 据现在已知的几个联系电话,把他们的对应的数据给找出来,那我们用两个 feel, 他可以实现光标先定好,等于输一个 frfiltr, 这个 feel 是干嘛的呢?筛选区域或数组的,那我们双击,因为你要实现查找的是两个不同的方向, 所以你要输什么呀?要用两个 feel 他才能实现一个参数,我要在哪一个数组里面,哪一个区域里面找呀? a 四, a 四到一十六这里筛选 f 四,给他一个锁定,然后这边逗号,我要先找这个商品编码 在上面这一行里面处于对应的第几例,那我这边我们商品编码在对应的哪一行里面, a 三到 e 三这里给他一个 f 四锁定等于什么?我要等于这个商品编码, 因为我要我们现在这个啊,去查找的商品编码以及序号,品名型号都是固定,要匹配在固定在一行上面的,不能跑掉。所以你要锁行,同行锁行吗?那我们 f 四按一下,按两下锁行,然后再一个括号,再一个逗号,这边我们干嘛呢?去 横向,这个叫纵向的已经查到出来了,现在就要查到对应的这个横向的一个数据了,横向的数据呢就是我要干嘛呀?我要找到联系电话,他在哪一个区域里面?是不是在这个第四道 第十六这个区域里面,然后 f 四进行一个锁定去等于我们对应的这个 a 二十第一个人的联系电话。那这个时候呢?因为我要我我们现在筛选的这个联系电话啊,它固定在 a 列上面,所以你要进行一个锁列,同列锁列, f 四按一下,按两下,按三下,三下是锁列啊, 这时候括号敲回车,再选中他右下角填充笔,往右边一拖,再往下一拖,就可以把它进行一个全方位的一个查找出来了。好,你学会了吗?