ndarray

  ndarray的本质是数组,不同于一般的数组或者python的list的地方在于它可以有N维,也可以简繁的理解为数组里面嵌套数组。

  大部分的数组操作仅仅是修改元数据部分,而不改变其底层的实际数据。数组的维数称为秩,简单来说就是如果你需要获取数组中一个特定元素所需的坐标数,如a是一个2×3×4的矩阵,你索引其中一个元素必定给定三个坐标a[x,yxz],故它的维数就是3 。而轴可以理解为一种对数组空间的分割,以数组a为例,如果我们以0为轴,那么a可以看成是一个由两个元素构成的数组,其中每一个元素都是一个3×4的数组。

  接下来就来说说ndarray的索引、遍历和切片操作。

索引

  ndarray的索引和切片操作其实与python的list的索引切片操作极为相似,元素的索引均从0开始。

  a中有四个元素,那么这些元素的索引分别为0,1,2,3,也就是说a中的第二个元素索引为1,打印第二个元素:

 

   b是一个二行三列的二维数组,行索引为0,1,打印数组b的第一行:

 

   打印数组b中第二行第二列的元素:

 

   需要注意的是,多维数组不能以b[][1]的形式输出第二列的元素。

遍历元素

  ndarray的遍历方式也与python中的list的遍历方式极为相似。

  使用for循环遍历数组中的元素,多维数组根据索引遍历:

 

 切片

  ndarray的切片方式也与python中的list的切片方式相似,若需要的行范围为0-2,切片时的索引范围就为0-3,写法为0:3,为了方便,0可省略。

  获取a中第二至第四个元素:

 

   从倒数第二个元素开始获取a中的元素:

 

   从倒数第一个元素开始获取a中的元素:

 

   将a中的元素倒序输出:

 

   从倒数第二个元素输出a的倒序元素:

 

   输出b中第一行,第二、三列元素:

 

   输出b中第二、三列的元素:

 

posted @ 2020-03-01 23:14  寡人略帅  阅读(1147)  评论(1编辑  收藏  举报