不可不学Numpy,带你快速撸Numpy代码,(Python学习教程)一遍过

  

我们一起来学习Python数据分析的工具学习阶段,包括   ,   以及   ,它们是python进行科学计算,数据处理以及可视化的重要库,在以后的数据分析路上会经常用的到,所以一定要掌握,并且还要熟练!今天的   先从Numpy开始!   

  

  

     <李>初识Numpy李   <李> ndarray的增删改查李   <李> ndarray切片与筛选李   <李> ndarray运算与排序李   

  

  

  ,是Numerical Python的简称,它是Python中的科学计算基本软件包.NumPy为Python提供了大量数学库,使我们能够高效地进行数字计算。更多可点击Numpy官网查看。

  

其实在前面的   中就有跟大家讲过   

  

  

     <李> NumPy数组在创建时有   不,同Python列于表(可以   )。   李。   <李> NumPy数组中的元素都需要具有   ,因此在存储器中将具有相同的大小。数组的元素如果也是数组(可以是Python的原生数组,也可以是ndarray)的情况下,则构成了多维数组。   <李> NumPy数组便于对大量数据进行高级数学和其他类型的操作。   李。   

所以,Numpy的核心是ndarray对象,这个对象封装了同质数据类型的n维数组。起名ndarray的原因就是因为是n-dimension-array的简写。接下来本节所有的课程都是围绕着ndarray来讲的,理论知识较少,代码量较多,所以大家在学习的时候,多自己动动手,尝试自己去运行一下代码。

     不可不学Numpy,带你快速撸Numpy代码,(Python学习教程)一遍过      

  

     <李>由python列表创建李      <李>由numpy内置函数创建李   

  

  

这里主要是提供了一些访问,更改或增加ndarray中某一元素的基础方法。

  

  

  

类似于访问python列表中元素的方式,按照元素的指数进行访问或更改。

  

  

  

可使用np.delete (ndarray、元素轴)函数进行删除操作。

  

这里需要注意的是轴这个参数,在2维数据中,轴=0表示选择行,轴=1表示选择列,但不能机械的认为0就表示行,1就表示列,注意前提   .

  <引用类=" article-blockquote ">   

在三维数据中,轴=0表示组,1表示行,2表示列。这是为什么呢?提示一下,三位数组的形状中组,行和列是怎样排序的?

  

所以,轴的赋值一定要考虑数组的形状。

  

再有一点需要注意的是,如果你想让原数据保留删除后的结果,需要重新赋值一下才可以。

  

  

  

往ndarray中增加元素的办法跟python列表也很类似,常用的有两种:

     <李>一种是添加(附加),就是将新增的元素添加到ndarray的尾部李   <李>语法为:np。追加(ndarray、元素轴)   <李>参数和删除函数一致,用法也一致,这里不再赘述李   <李>一种是插入(插入),可以让新增元素插入到指定位置李   <李>语法为:np。插入(ndarray、索引、元素轴)   <李>参数中就多了一个指标,指示的是插入新元素的位置。   

这里值得注意的是,不论是附加还是插入,在往多维数组中插入元素时,一定要注意对应轴上的形状要一致。再一个就是,和删除一样,如果你想要更改原数据,需要重新赋值。

  

  

  

  

  

前面学了选择ndarray中的某个元素的方法,这里我们学习获取ndarray子集的方法——切片。

  

对于切片大家并不陌生,在列表里面我们也接触过切片,一维的ndarray切片与列表无异。需要注意的是,就是理解二维及多维ndarray切片。

     <李> 2维矩阵切片   

这里可以看的出,我们筛选了一个矩阵中前三列的所有行,这是如何实现的呢?

  

切片的第一个元素:表示的是选择所有行,第二个元素:1表示的是从第0列至最后一列(不包含),所以结果如上所示。

  

再看一个例子:

  

筛选的是第2 - 3行的所有列。

     <李>一个常用的切片   

以列的形式获取最后一列数据:

  

以一维数组的形式获取最后一列数据:

  

不可不学Numpy,带你快速撸Numpy代码,(Python学习教程)一遍过