zoukankan      html  css  js  c++  java
  • 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中第二、三列的元素:

  • 相关阅读:
    iOS开发之Xcode8兼容适配iOS 10资料整理笔记
    C#流概述
    C#回调实现的一般过程
    ASP.Net MVC的学习
    RAID基本知识
    Infiniband基本知识
    [转]开源实时视频码流分析软件:VideoEye
    [转]高分一号的落后与特色
    [转]MVC,MVP 和 MVVM 的图示
    图文助你打开MS SQL Serever的ldf和mdf文件
  • 原文地址:https://www.cnblogs.com/zhangmingfeng/p/12392924.html
Copyright © 2011-2022 走看看