【MindSpore易点通】数据处理之Numpy的介绍和使用

简介

在深度学习数据处理过程中经常会用到的四个科学计算的基础库,分别是:NumPy、Pandas、Matplotlib和SciPy。本篇将先分享下Numpy的介绍和个人的学习步骤。

NumPy

NumPy大概是是数据处理中使用次数最多的计算库,它提供了很多的基础计算,按照NumPy官网的说明:NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以轻松地进行数值计算。

安装:安装非常的简单,内存占用也非常小,直接在自己的python环境下‘pip install numpy’就可以安装,几乎不会存在安装失败。安装后简单检验下导入使用,这样便是正常的。

正在上传…重新上传取消

接下来就是入门教程,教程中说到NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组。它允许你在Python中进行向量和矩阵计算。NumPy绝对是科学Python成功的关键之一,如果你想要进入Python中的数据科学和/或机器学习,你就要必须学习它。

创建数组

既然它都这么说了,这里就从创建一个数组开始。

图中是四种简单的创建数组的方法,这里我们创建的是一维数组,可以直接把列表或者元组传递给array()函数,创建出的数组是一样的。arange()函数可以传递进去范围,从0开始到参数的前一位的所以整数。linspace()函数主要体现出数组的**症特性,即使其中有长度不同的数,也会按照统一的宽度显示,非常整齐。

再试试创建个二维的数组玩一玩,首先进行了一次错误的尝试,这里将两个列表传递给了array()函数,出现以下报错。

很明显array()函数只要一个参数,所以可以在列表里再创建几组列表,如下面图中所示。

创建成功了,元素的位置依然是非常的对齐,所以创建数组的维度和外边包装的列表层数有关,这里用列表中括号包裹了两层,就创建了二维的数组。在想要查看某一个位置的元素时可以根据坐标的方法。根据测试,左上角是**(0,0)的位置,其中的第一个0表示所在行,第二个0表示列。如果是三维的数组呢,继续试一试。

创建出来了,三层的列表中括号一定要查清楚哦。这里对位置查询有不太明白的,可以参考上面方法,上面采取的从**开始查找并控制两个参数不变改变另一个参数的方法。

接下来再试一试基本的操作符,看到这里的时候突然有种“欲练此功,必先自宫,如不自宫,也能成功”的感觉,害我在创建三维数组的时候数了那么多层的中括号。简单的方法试一试。

数组计算

创建没有问题了,直接reshape就能够设置了数组的维度。当然不能仅仅止步于数组的创建上,我们最终需要做的就是运算数组,这里还从最基本的运算方法‘+’‘-’‘*’‘/’试一试。

以上计算都冇问题,在根据条件对比两个数组时也得到了想要的结果,继续试试特殊的运算符。

上面的max()、min()和sum()都没有问题,而且很好理解规则。其中的cumsun()的计算规则是从前到后一个累加计算,dot()函数的计算有些不太直观的看出来,这里解释了详细的计算步骤,供大家理解。

以b.dot(a)为例,diy下计算过程

[603=63*0+45*3+78*6  789=63*1+45*4+78*7  975=63*2+45*5+78*8

 240=98*0+12*3+34*6  384=98*1+12*4+34*7  528=98*2+12*5+34*8

  267=52*0+17*3+36*6  372=52*1+17*4+36*7  477=52*2+17*5+36*8]

如果是a.dot(b)就是交换下计算的顺序。

数组索引

根据我们的条件筛选出符合的元素。

简单的小试,根据下标进行的索引。再根据判断条件试试

总结

本篇内容为Numpy的初级使用,主要尝试了Numpy的安装、创建数组、数组计算和索引的四个部分。MindSpore深度学习框架中也提供了Numpy的接口,后续将会结合使用,并逐渐深入学习使用Numpy的用法,也将继续给大家分享。欢迎大家留言讨论~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值