轴axis
numpy多维数组,为了表示维度方向,提出 轴 的概念。
- 一维数组:只有0轴
- 二维数组:有0轴、1轴
- 三维数组:有0轴、1轴、2轴
- 以此类推
轴和二维数组的关系
0轴 是沿着 行 的方向
1轴 是沿着 列 的方向
对于形状是 (3,4) 的numpy数组,
3 是 0轴长度,0轴表示 行;
4 是 1轴长度,1轴表示 列
轴和三维数组的关系
对于下面的数组
[[[7 5 7 6]
[7 1 4 7]
[6 2 7 5]]
[[4 1 3 2]
[1 6 4 2]
[6 5 1 5]]]
2 是 0轴长度
3 是 1轴长度
4 是 2轴长度
代码
生成形状是 (2,3,4) 的numpy数组,代码如下:
import numpy as np
np.random.seed(9)
arr=np.random.randint(1,9,(2,3,4))
执行结果如下:
[[[7 5 7 6]
[7 1 4 7]
[6 2 7 5]]
[[4 1 3 2]
[1 6 4 2]
[6 5 1 5]]]
作用
有了轴的概念后,可以按照 轴 合并数组,对于多维数组的合并,可以让其按照 0轴 合并,或者 1轴 合并
也让计算方式更加多样,比如对二维数组求平均值:
- 对该二维数组的 所有元素 求平均值
- 对该二维数组的 每一行 求平均值
- 对该二维数组的 每一列 求平均值
2维数组按照1轴求和
import numpy as np
np.random.seed(9)
arr=np.random.randint(1,9,(2,3))
print("数组:")
print(arr)
result=np.sum(arr,axis=1)
print("按照1轴求和:")
print(result)
result=np.sum(arr,axis=0)
print("按照0轴求和:")
print(result)
执行结果如下:
数组:
[[7 5 7]
[6 7 1]]
按照1轴求和:
[19 14]
按照0轴求和:
[13 12 8]

