NumPy中的维度(dimension)、轴(axis)、秩(rank)的含义(深入理解极度推荐)
https://blog.csdn.net/Babyfatliang/article/details/87721282
- 此文章说明了 :维 = 轴 = 秩。并且说明如何计算,如何理解计算。
- 通过这张图片可以窥见一二。
将数组的维度理解为嵌套结构(简单说明)
https://blog.csdn.net/qq_42383041/article/details/86157702
a = np.array([[1,2,3],[1,2,3]])
print(np.sum(a,axis = 0))
>>>[2 4 6]
print(np.sum(a,axis = 1))
>>>[6 6]
print(np.sum(a))
>>>12
- 把第一个[1,2,3]看做x,第二个[1,2,3]看做y,变化为arr[x,y] 这可以看做是一个一维数组 那么 按照一维数组的理解 x,y 这个顺序就0轴,即0轴[x,y] = [[1,2,3],[1,2,3]]。
- 当axis=1时,第一维(第一层嵌套)不变,即对第二维(第二层嵌套)相加,即为[1+2+3,1+2+3]=[6,6]。
- 当不加axis参数时,把所有元素相加,即为12。
- 采用降维的方法来进行计算,如果维度降到二维,那么就非常便于我们的理解,简单的说就是“替换、降维打击”。
补充数组的索引
https://blog.csdn.net/sinat_34072381/article/details/84448307
- 这里的嵌套略有不同,一个数组中第一个数代表第一维,第二个数代表第二维,第三个数代表第三维,以此类推。
- 例如 a[[0,1]] 代表第0,1轴位置的元素,结果数组维度为1,与a[[[0,1]]]等价
- 注意此处,索引中第一层中括号中还是中括号,可以用逗号分隔,随着分隔的增加会增加索引结果数组的维数。如:d = b[[[0,0],[1,1]], [[1,3],[2,3]]] 返回的是交叉区域。