码迷,mamicode.com
首页 > 编程语言 > 详细

Numpy学习二:数组的索引与切片

时间:2019-02-07 09:30:49      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:技术   str   print   www.   strong   表示   切片   ado   axis   

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]])

Numpy学习二:数组的索引与切片

标签:技术   str   print   www.   strong   表示   切片   ado   axis   

原文地址:https://www.cnblogs.com/sl0309/p/10354347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!