ndarray的索引和切片
1.整数索引和切片的基本使用
1.1什么是索引:就是指的索引号,索引号是从0开始的
在用的时候写一个参数,那代表的要获取索引号为几的元素。
两个参数时,就是代表的要获取索引号从几到几的元素,但不包括第二个参数所指的元素。
当有三个参数时,那么第三位数就是指的步长
使用例子如下:(使用冒号将参数分隔)
在二维数组中要获取单个的元素,就可以使用如“arr[x,y]”,注意,这两个参数使用逗号分隔的,索引多个元素时是使用的冒号进行分隔的
1.2什么是切片:切片就是把矩阵的某一部分切下来,可以切一刀,也可以切好多刀,还可以和索引一起用
使用方法看图就明白了:
从图中代码就可以看出来,切片和索引特别像,其实切片就是索引的一种形式
2.花式(数组)索引的基本使用
花式索引与上边的索引就好比切东西的的手法,索引时不管切几刀,最后都是剩下一块,而花式索引就是切出来好几块
那么我们来看一下怎么使用吧!
import numpy as np
arr1 = np.empty((4,4))
for i in range(4):
arr1[i] = np.arange(i,i+4)
print(arr1)
print('=====================')
print(arr1[[1,3]])
上边的代码使用的是单个花式索引,而且是以[1,3]这个列表作为索引,那么此时索引的就是索引号为1和3的那两行数据(注意:索引号是从0开始的)
刚才既然说了单个花式索引,那么肯定就有多个花式索引,下面这行代码是用了两个花式索引
print(arr1[[1,3],[1,2]])
这一行代码中的数字是什么意思呢?
第一个列表中[1,3]所代表的还是行的索引号,第二个列表中[1,2]代表的就是列的索引号,那么结合起来就是代表第二行的第二列的元素,和第四行第三列的元素,所以最后的出来的就是2和5(注意:这两个列表中的数是指的索引号,是从0开始的,所以对应的就要加一)
** 图片引用至黑马程序员书籍**