Python/numpy array slicing
来自菜鸟教程
<languages />
NumPy数组切片
切片数组
python中的切片意味着将元素从一个给定的索引带到另一个给定的索引。
我们像这样传递切片而不是索引:
[ start : end ]
.
我们还可以定义步骤,如下所示:
[ start : end : step ]
.
如果不通过,则将其视为0
如果我们不通过,则在该维度上考虑其数组长度
如果我们不通过步骤,则将其视为1
例
从以下数组中将元素从索引1切片到索引5:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5])
注意: 结果 includes 起始索引,但是 excludes 结束索引。
例
将元素从索引4切片到数组的末尾:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[4:])
例
从开始到索引4切片元素(不包括在内):
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[:4])
负片
使用减号运算符从头开始引用索引:
例
从末尾的索引3切片到末尾的索引1:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[-3:-1])
STEP
使用
step
确定切片步骤的值:
例
将所有其他元素从索引1返回索引5:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[1:5:2])
例
返回整个数组中的所有其他元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) print(arr[::2])
切片二维数组
例
从第二个元素开始,对从索引1到索引4的元素进行切片(不包括在内):
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[1, 1:4])
注意: 记住这一点 second element 索引为1。
例
从这两个元素返回索引2:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[0:2, 2])
例
从两个元素切片索引1到索引4(不包括在内),这将返回一个二维数组:
import numpy as np arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) print(arr[0:2, 1:4])