numpy的索引和切片
z1 = np.arange(24).reshape(4,6) [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23]]
行操作
# 取行 print(z1[2]) # 中括号就是取行 # 连续取多行 print(z1[[1,2]]) print(z1[1:]) # 取不连续多行 print(z1[[1,3]])
列操作
# 取列 print(z1[:,1]) # 取连续多列 print(z1[:,3:]) # 取不连续多列 print(z1[:,[1,3,5]])
取行和列
# 取行和列的值 取第3行4列的值 这里注意我们在取值时用的都是索引,行和列都是从0开始, 而我们正常都是从1开始数行和列的 print(z1[2,3]) z2 = np.arange(100).reshape(10,10) print(z2) # 取多行和多列 取第3行到第6行 第2列到第5列的结果 print(z2[2:6,1:5]) # 取得是行和列交叉点得位置 # 取多个不相邻得值 # print(z2[[1,2],[2,4]]) # 分别取第2行的第3列 和 第3行的第5列的值 选出来的点就是(1,2) (2,4) print(z2[[6,7,8],[6,7,8]]) # 选出来的点是(6,6) (7,7) (8,8)