Cherish's Notebook
切换到深色模式
菜单
Wiki--浏览次数--访问次数--跳出率--平均停留

numpy

4.二维数组的索引与切片

①获取指定单个元素

CODE
#获取元素9
#先获取所在行,再获取所在列
#数组[行索引号,列索引号]
a[1,2]

②获取整行元素

CODE
#获取整行 数组[行索引号]
#这个的效果与   数组[行索引号,:]效果是一样的
a[2]
#也可以负索引获取一行
a[-1]

③获取整列元素

CODE
#获取整列 数组名[:,列索引]
a[:,2]
#也可以负索引获取一列
a[:,-1]

④部分行部分列的元素

CODE
#部分行部分列 数组名[行切片,列切片]
a[:2,:]
#结果:
'''
array([[ 1,  2,  3,  4,  5,  6],
       [ 7,  8,  9, 10, 11, 12]])
'''
a[:,1:4]
#结果:
'''
array([[ 2,  3,  4],
       [ 8,  9, 10],
       [14, 15, 16],
       [20, 21, 22]])
'''
#对列行同时进行切片,使用了step参数
a[::2,::2]

⑤同时获取两个元素

CODE
#同时获取第三行第二列,第四行第一列
#逗号前边括号为行的所有索引,逗号后边为列的所有索引
a[(2,3),(1,0)]

⑥切片,对行进行反向获取

CODE
#切片 对所有行进行反向获取
a[::-1]
#结果:
'''
array([[19, 20, 21, 22, 23, 24],
       [13, 14, 15, 16, 17, 18],
       [ 7,  8,  9, 10, 11, 12],
       [ 1,  2,  3,  4,  5,  6]])
'''
#对行列都进行反向切片获取
a[::-1,::-1]
'''
array([[24, 23, 22, 21, 20, 19],
       [18, 17, 16, 15, 14, 13],
       [12, 11, 10,  9,  8,  7],
       [ 6,  5,  4,  3,  2,  1]])
'''

⑦修改元素

CODE
#获取前两行和前两列
sub_a=a[:2,:2]
#修改sub_a第一个元素的值
sub_a[0,0]=100

⑧数组复制copy()

CODE
#数组复制
copy_a=np.copy(sub_a)
#修改copy_a后不影响原数组
copy_a[0,0]=100

使用copy()指令后创建的数组,对这个新的数组的元素进行改变,原数组的元素值是不会发生改变的