1、数组切片
在python中,切片意味着从一个给定索引获取元素到另一个给定索引。
我们这样传切片而不是索引:[start:end]
。
我们还可以这样定义step:[start:end:step]
。
如果我们不传start,则将其视为0
如果我们不传end,则考虑该维度中数组的长度
如果我们不传step,则将其视为1
例如:
从以下数组中将元素从索引1切片到索引5:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[1:5])
注意:结果包括开始索引,但不包括结束索引。
例如:
将元素从索引4切片到数组的末尾:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[4:])
例如:
从开始到索引4切片元素(不包括在内):
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[:4])
2、负切片
使用减号运算符从头开始引用索引:
例如:
从末尾的索引3切片到末尾的索引1:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[-3:-1])
3、步长(step)
使用step
值确定切片的步长:
例如:
将所有其他元素从索引1返回索引5:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[1:5:2])
例如:
返回整个数组中的所有其他元素:
import numpy as nparr = np.array([1, 2, 3, 4, 5, 6, 7])print(arr[::2])
4、二维数组(2-D Array)切片
例如:
从第二个元素开始,对从索引1到索引4的元素进行切片(不包括在内):
import numpy as nparr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])print(arr[1, 1:4])
注意:请记住,第二个元素的索引为1。
例如:
从这两个元素返回索引2:
import numpy as nparr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])print(arr[0:2, 2])
例如:
从两个元素切片索引1到索引4(不包括在内),这将返回一个二维数组:
import numpy as nparr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])print(arr[0:2, 1:4])