python中numpy的数组切片
程序员文章站
2024-01-05 16:34:34
...
一.
一维数组:在numpy的array中切片的操作与python列表的切片操作是相同的,记住索引规则即 a[start,end,step]
二.
二维数组:索引规则为a[行,列]。 例子如下:
先初始化一个二维array
import numpy as np
a = np.arange(20).reshape((4,5))
print(a)
[[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19]]
1.取行数据
a[i, : ] #取第i行数据 a[i : j, :] #取第i行到第j行的数据(不包括结束行)
a[3,:]
a[0:2,]
array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
2.取列数据
a[ : ,j] #取第j列数据 a[:, i : j] #取第i列到第j列的数据(不包括结束列)
a[:,4]
array([ 4, 9, 14, 19])
a[:,2:4]
array([[ 2, 3], [ 7, 8], [12, 13], [17, 18]])
3.取一个数据块
a[i1: j1 , i2: j2] #取第i1行到第j1行,取第i2列到第j2列
a[0:3,2:4]
array([[ 2, 3], [ 7, 8], [12, 13]])
4.按步长为k的索引
a[:, i : j: k] #取所有行,i为开始列,j为结束列,k为步长
a[:,0:4:2]
array([[ 0, 2], [ 5, 7], [10, 12], [15, 17]])
三.
多维数组:与二维数组类似,可以对比二维数组的操作