import numpy as np a = np.arange(10) #生成切片对象 s = slice(2,9,3)#从索引2开始到索引9停止,间隔时间为2 print(a[s])输出结果:
[2 5 8]
您也可以通过冒号来分割切片参数,最终也能获得相同结果,示例如下:import numpy as np a = np.arange(10) b = a[2:9:2] print(b)输出结果:
[2 5 8]
下面对冒号切片做简单地说明:[3]
就会返回 3。[:9]
,则会返回 0-8 的所有数字(不包含9)。[2:]
则会返回 2-9 之间的数字。[2:9]
,则对两个索引值之间的所有元素进行切片(不包括停止索引)。a = np.arange(10) b = a[3] print (b)输出结果:
3
示例 2:import numpy as np a = np.arange(10) print (a[2:])输出结果:
[2 3 4 5 6 7 8 9]
示例 3:import numpy as np a = np.arange(10) print a[2:5]输出结果如下:
[2 3 4]
import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print(a) # 从[1:]索引处开始切割 print(a[1:])输出结果:
[[1 2 3] [3 4 5] [4 5 6]] #切割后的新数组 [[3 4 5] [4 5 6]]注意:切片还可以使用省略号“…”,如果在行位置使用省略号,那么返回值将包含所有行元素,反之,则包含所有列元素。
import numpy as np #创建a数组 a = np.array([[1,2,3],[3,4,5],[4,5,6]]) #返回数组的第二列 print (a[...,1]) #返回数组的第二行 print (a[1,...]) #返回第二列后的所有项 print (a[...,1:])输出结果:
#第二列数组 [2 4 5] #第二行数组 [3 4 5] #返回第二列及以后的所有元素 [[2 3] [4 5] [5 6]]
本文链接:http://task.lmcjl.com/news/13600.html