我们在numpy中使用sum/mean等聚合函数的时候,有些时候会用到axis关键词,这个关键词表示对于numpy数组(矩阵)中的跨行/跨列计算,axis取0的时候,是跨行计算,相当于是压扁矩阵(这里可以想象成把一个圆圆的气球压扁了),axis取1的时候,是按列计算,我们可以想象是一根长长的卷轴把矩阵卷起来。不过最后numpy都会把向量编程行向量,所以即使axis=1,最后也会输出一个行向量,这是需要注意的。
演示代码如下:
import numpy as np
np_dat = np.arange(12).reshape(3,4)
print(np_dat)
print(np_dat.sum(axis=0))
print(np_dat.sum(axis=1))
print(np_dat.mean(axis=0))
print(np_dat.mean(axis=1))
输出结果如下:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[12 15 18 21]
[ 6 22 38]
[4. 5. 6. 7.]
[1.5 5.5 9.5]
[Finished in 2.0s]