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]])
  • 相关阅读:
    软件编程思想读后感
    上交所历史数据分析系统项目总结
    2013学习总结----JavaScript
    快来领取你专属的css背景图案
    小朋友,听说你还不会css中的条纹背景?
    特殊要求下的背景定位的解决方案
    css中多边框实现的方式
    一个按钮样式测试出你的 css功力
    一次优雅的表单验证设计
    使用JavaScript浅谈组合模式
  • 原文地址:https://www.cnblogs.com/sl0309/p/10354347.html
Copyright © 2011-2022 走看看