NumPy 数组切片
数组切片
Python 中的切片意味着从一个给定索引到另一个给定索引获取元素。
我们使用切片而不是索引,如下所示: [start:end]
。
我们还可以定义步长,如下所示: [start:end:step]
。
如果我们不指定 start,则默认为 0
如果我们不指定 end,则默认为该维度数组的长度
如果我们不指定 step,则默认为 1
示例
从以下数组的索引 1 到索引 5 切片元素
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])
自己动手试一试 »
注意: 结果包括起始索引,但不包括结束索引。
示例
从开头到索引 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
值来确定切片的步长
示例
从索引 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])
自己动手试一试 »
注意: 请记住,第二个元素的索引是 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])
自己动手试一试 »