基础索引
1.多维度数组
1.1 二维数组
此部分好理解,画一个平面的XY轴,X为横轴,Y为竖轴即可理解。
1.2 三维数组
难点在于理解的是如何把抽象的数组转化为三维空间的数据结构。
自己通过图片+代码的方式基本理解三维数组空间分布情况
直接上图:
其中,轴0/轴1/轴2,可以比作三维空间坐标系,分别为XYZ轴。
定义一个2×2×3的三维数组
arr3d = np.array([[[1, 2, 3], [4, 5, 6]],[[7, 8, 9], [10, 11, 12]]])
可在IDE中打印,按照获得的值去和三维空间图对应,慢慢就能理解。比如:
print(arr3d[0,0,2])
result:3
对应三维坐标(X=3,Y=0,Z=0),获得的值为3。
2.要点
2.1 视图
对数组进行切片,实际上数组的切片是原数组的视图,这意味着数据不是被复制了,而是对于视图的修改会反应在原数组上。
可以通过id()函数对比查看数组在切片前后的地址。实际上是不会变化的。