使用数组进行切片:请解释NumPy代码中print语句的作用
NumPy代码中两条print语句的功能与输出逻辑解释
先看代码的前置操作:np.arange(28)会生成包含0到27这28个连续整数的一维数组,接着reshape(4, 7)把这个一维数组转换成4行7列的二维数组,赋值给变量X。
第一条print(X)
功能就是直接输出整个二维数组X的全部元素,输出的是完整的4×7矩阵:
[[ 0 1 2 3 4 5 6] [ 7 8 9 10 11 12 13] [14 15 16 17 18 19 20] [21 22 23 24 25 26 27]]
输出逻辑是按行打印二维数组的每一行元素,每行元素用方括号包裹,整体再用一层方括号包裹。
第二条print(X[::2,::3])
这是利用NumPy的切片索引提取数组的部分元素后输出,切片规则为[行切片规则, 列切片规则]:
::2(行切片):从第0行开始,每隔2行取一行,也就是取索引为0、2的行(对应原数组的第一、第三行)::3(列切片):从第0列开始,每隔3列取一列,也就是取索引为0、3、6的列(对应原数组的第一、第四、第七列)
最终提取并输出的是一个2行3列的子数组:
[[ 0 3 6] [14 17 20]]
内容的提问来源于stack exchange,提问作者bernd-reinhold.kwauka
相关产品推荐
相关产品推荐

