Python中冒号(:)在切片中的使用
程序员文章站
2022-06-03 08:42:00
...
对于一维数组来说,python原生的list和numpy的array的切片操作都是相同的,记住一个规则: arr_name[start: end: step] 就可以了。
下面是几个特殊的例子:
- [:]表示复制源列表
- 负的index表示,从后往前。-1表示最后一个元素。
import numpy as np
data = np.arange(20).reshape(4,5)
#array([[ 0, 1, 2, 3, 4],
# [ 5, 6, 7, 8, 9],
# [10, 11, 12, 13, 14],
# [15, 16, 17, 18, 19]])
data[1,:] #data[i,:] 获取第i行元素 同理data[:,i] 获取第i列元素
#array([5, 6, 7, 8, 9])
data[:,-3:] #获取所有的行中倒数第三个到最后的元素
#array([[ 2, 3, 4],
# [ 7, 8, 9],
# [12, 13, 14],
# [17, 18, 19]])
data[:,:3] #获取所有的行中从0到2的元素(注意时左闭右开)
#array([[ 0, 1, 2],
# [ 5, 6, 7],
# [10, 11, 12],
# [15, 16, 17]])
#取一个数据块
data[0:2,0:3] # 注意,时左闭右开原则
#array([[0, 1, 2],
# [5, 6, 7]])