在菜鸟教程学习Numpy,总结成笔记供日后复习,如有错误望不吝赐教
ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
下面复习一下slice(start, stop, step)函数
参数 | 说明 |
---|---|
start | 起始索引值 |
stop | 终止索引值,默认不包含 |
step | 等差步长 |
第二种方法则是采用**[start:stop:step]**来进行切片操作
关于冒号,还有如下几个用法:
用法 | 说明 |
---|---|
[2] | 返回该索引对应的单个元素 |
[2:] | 从该索引以后的所有元素都将被提取 |
[2:7] | 提取两个索引之间的项,包括起始项而不包括终止项 |
import numpy as np
a = np.arrange(10) #[0 1 2 3 4 5 6 7 8 9]
a[2:7] #[2 3 4 5 6 7]
对于多维数组这样的方法也是成立的,例如
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) '''[[1,2,3]
[3,4,5]
[4,5,6]]'''
b = a[1:] '''[[3 4 5]
[4 5 6]]'''
还可以使用…(省略号)来改变提取维度,例如
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) '''[[1,2,3]
[3,4,5]
[4,5,6]]'''
b = a[...,1:] '''[[2 3]
[4 5]
[5 6]] 第二列及以下所有元素'''
c = a[1,...] '''[3 4 5] 第二行所有元素'''
以上都是一些基础操作了,numpy比一般python提供索引的更多的优势在于以下几个高级索引
- 整数数组索引
- 布尔索引
- 花式索引
老实说,这部分的内容还是先留个链接吧。日后如果有机会用到再来补全。Numpy高级索引