Numpy的语法与python语法的切片方法相同
获取数组切片的方法:
x[start:stop:step]
三个函数有默认值,三个参数默认值为start=0,stop=维度的大小,step=1。

1、一维子数组

x=np.arange(10)
x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x[:5] #取x中的前5个元素
array([0,1,2,3,4])
x[4:6] #获取中间的子数组
arrary([4,5])
x[::2] #每隔一个元素
ararry([0,2,4,6,8])
x[1::2]#从1开始,每隔1个元素
array([1,3,5,7,9])
x[::-1] #所有元素逆序
arrary([9,8,7,6,5,4,3,2,1])

2、多维子数组

多维切片采取同样的方式处理,用冒号进行分隔。例如:

x2
array([[2, 6, 3],
       [8, 2, 4],
       [2, 6, 4]])
x2[:2,:3]#两行,三列
array([[2, 6, 3],
       [8, 2, 4]])
x2[:3,::2]# 所有的行,列步长为2
array([[2, 3],
       [8, 4],
       [2, 4]]
x2[::-1,::-1] #多维数组也存在逆序的情况
array([[4, 6, 2],
       [4, 2, 8],
       [3, 6, 2]])

3、获取数组的长和列

在数据工作中经常会去获取数组的单行和单列,我们可以将索引和切片组合起来实现这个功能,用一个冒号(:)表示空切片

print(x2[:,0]) #x2的第一列
[2 8 2]
print(x2[0,:]) #x2的第一行
[2 6 3]