• 【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的用法,也将继续给大家分享。欢迎大家留言讨论~

  • 相关阅读:
    制造业中的QC,QA,IPQC,IQC分别是什么?
    多线程并发
    【PAT(甲级)】1067 Sort with Swap(0, i)(附解题思路)
    C++模板初阶
    猿创征文|瑞吉外卖——管理端_员工管理
    程序员业务,微信全文搜索技术优化
    推荐系统学习 二
    北京地标-自动驾驶高精度地图特征定位数据技术规范
    css美化滚动条
    TPshop商城——windows部署(保姆级)
  • 原文地址:https://blog.csdn.net/weixin_45666880/article/details/126777000