numpy
4.二维数组的索引与切片
①获取指定单个元素

#获取元素9
#先获取所在行,再获取所在列
#数组[行索引号,列索引号]
a[1,2]
②获取整行元素
#获取整行 数组[行索引号]
#这个的效果与 数组[行索引号,:]效果是一样的
a[2]
#也可以负索引获取一行
a[-1]
③获取整列元素
#获取整列 数组名[:,列索引]
a[:,2]
#也可以负索引获取一列
a[:,-1]
④部分行部分列的元素
#部分行部分列 数组名[行切片,列切片]
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]
⑤同时获取两个元素
#同时获取第三行第二列,第四行第一列
#逗号前边括号为行的所有索引,逗号后边为列的所有索引
a[(2,3),(1,0)]
⑥切片,对行进行反向获取
#切片 对所有行进行反向获取
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]])
'''
⑦修改元素
#获取前两行和前两列
sub_a=a[:2,:2]
#修改sub_a第一个元素的值
sub_a[0,0]=100
⑧数组复制copy()
#数组复制
copy_a=np.copy(sub_a)
#修改copy_a后不影响原数组
copy_a[0,0]=100
使用copy()指令后创建的数组,对这个新的数组的元素进行改变,原数组的元素值是不会发生改变的