numpy统计函数中axis参数的含义
基础统计函数包括:sum, mean, std, var,min,max,argmin, argmax, cumsum, cumprod
以sum为例
>>> arr
array([[[ 1, 2], [ 3, 4], [ 5, 6]],
[[ 7, 8], [ 9, 10], [11, 12]],
[[13, 14], [15, 16], [17, 18]]])
>>> arr.shape
(3, 3, 2)
>>> arr.sum()
171
>>> arr.sum(0)
array([[21, 24],
[27, 30],
[33, 36]])
>>> arr.sum(1)
array([[ 9, 12],
[27, 30],
[45, 48]])
>>> arr.sum(2)
array([[ 3, 7, 11],
[15, 19, 23],
[27, 31, 35]])
轴线的概念依旧和transpose & swapaxes中一样,表示的是shape的序号
根据axis(轴)进行统计时,统计函数的作用范围为:按传入的axis(轴)进行组合的数据的集合
或者说除传入axis(轴)之外的axis(轴)上的数据不能进行组合
以axis=1为例:
传入的axis表示shape中的(3,3,2),
则数据组合规则为:1,2不能组合,1,7不能组合,因为这种组合不在axis=1表示的轴上
故组合的方式为:1,3,5 ……
即:
列1 | 列2 |
---|---|
(1,3,5) | (2,4,6) |
(7,9,11) | (8,10,12) |
(13,15,17) | (14,16,18) |
最终结果为的个数为:
3 * 2 = 6个
其他:
- 进行高维计算时可暂时将其他不相关的维度看做一个整体思考
- 对于axis的理解,轴线对应的位置表示他的维度,数值表示当前维度该轴线的根数
- 数据的组合发生在当前的维度上,不会跨维