zoukankan      html  css  js  c++  java
  • Numpy学习二:数组的索引与切片

    1、一维数组索引与切片
    #创建一维数组
    arr1d = np.arange(10)
    print(arr1d) 

    结果:[0 1 2 3 4 5 6 7 8 9]

    #数组的索引从0开始,通过索引获取第三个元素
    arr1d[2]

    结果:2

    #切片,左闭右开区间,从索引3开始,直到索引7结束

    arr1d[3:8]

    结果:array([3, 4, 5, 6, 7])

    #数组脚标由右往左是从-1开始,每向左一位脚标数字减1,获取最后一个元素
    arr1d[-1] #等价arr1d[9]

    结果:9

    #将标量赋值给切片,会广播到切片的整个选区
    arr1d[3:5] = 10
    print(arr1d)

    结果:[ 0 1 2 10 10 5 6 7 8 9]

    2、二维数组索引与切片

    #创建二维数组
    arr2d = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
    print(arr2d)

    结果:[[ 1  2  3  4]
           [ 5  6  7  8]
           [ 9 10 11 12]]

    #第一维脚标(索引值)是0的元素是一个数组
    arr2d[0]

    结果:array([1, 2, 3, 4])

    #第一维脚标(索引值)是1,第二维脚标(索引值)是3的元素,可以理解为获取二维数组中第2行第4列的元素
    arr2d[1,3]

    结果:8

    #二维数组切片

    多维数组可以按照维度分为多个轴,以二维数组为例,第一维可以用第0轴“axis=0”表示,第二维可以用第1轴“axis=1”表示

    #沿着axis=0轴方向的切片

    arr2d[:2]

    结果:array([[1, 2, 3, 4],
                 [5, 6, 7, 8]])
    
     

    #只有冒号表示选取整个轴,取第0轴全部,第1轴从脚标1开始取到3前一位,可以理解为取所有行的第2列和第3列数据
    arr2d[:,1:3]

    结果:array([[ 2,  3],
                 [ 6,  7],
                 [10, 11]])
     

    #沿着第0轴方向从脚标1开始取到最后,沿着第1轴从脚标1开始取到3的前一位
    arr2d[1:,1:3]

    结果:array([[ 6,  7],
                 [10, 11]])
  • 相关阅读:
    JS计算每个字符出现的次数
    FCL研究-目录
    FCL研究-LINQ-System.Linq Enumerable
    FCL研究-集合- System.Collections 接口和对象集合
    Vimperator常用快捷键
    【转】WCF光芒下的Web Service
    【转】GridView 加载空行并点击编辑每一个单元格
    [转]在C#程序设计中使用Win32类库
    OpenOffice实现Office转Pdf(支持自定义添加水印、页眉、页脚)
    VUE 动态路由
  • 原文地址:https://www.cnblogs.com/sl0309/p/10354347.html
Copyright © 2011-2022 走看看