按序数获取数据。不同的书写方式,可能维度会降低,可能跟原先的一样。
import numpy as np
# 创建一个二维数组shape (3, 4)
# [[ 1 2 3 4]
# [ 5 6 7 8]
# [ 9 10 11 12]]
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
在数组中间某行获取数据有两种方式:
整数和切片混合使用,会产生较低维的数组,
而只使用切片会产生与原来数组同维度的数组:
row_r1 = a[1, :] # 一维数组(a的第二行)
row_r2 = a[1:2, :] #二维数组
print(row_r1, row_r1.shape) # 输出 "[5 6 7 8] (4,)"
print(row_r2, row_r2.shape) # 输出 "[[5 6 7 8]] (1, 4)"
获取数组一列时,同样有不同:
col_r1 = a[:, 1]
col_r2 = a[:, 1:2]
print(col_r1, col_r1.shape) # Prints "[ 2 6 10] (3,)"
print(col_r2, col_r2.shape) # Prints "[[ 2]
# [ 6]
# [10]] (3, 1)"
网友评论