从Numpy的教程中,可以使用整数对轴进行索引,例如0用于列,1用于行,但是我不明白为什么用这种方式对它们进行索引?当处理多维数组时,如何计算每个轴的索引?
0
1
根据定义,维的轴号是该维在数组内的索引shape。它也是在索引编制过程中用于访问该尺寸的位置。
shape
例如,如果2D数组的a形状为(5,6),则a[0,0]最多可以访问a[4,5]。因此,轴0是第一维(“行”),轴1是第二维(“列”)。在较高的尺寸中,“行”和“列”实际上不再有意义,请尝试根据所涉及的形状和索引来考虑轴。
a
a[0,0]
a[4,5]
.sum(axis=n)例如,如果这样做,n则折叠并删除维度,新矩阵中的每个值都等于相应折叠值的总和。例如,如果b具有shape (5,6,7,8),而您执行了c = b.sum(axis=2),则轴2(尺寸为7的维)将折叠,结果将为shape (5,6,8)。而且,c[x,y,z]等于所有元素的总和b[x,y,:,z]。
.sum(axis=n)
n
b
(5,6,7,8)
c = b.sum(axis=2)
(5,6,8)
c[x,y,z]
b[x,y,:,z]