python中axis的理解

numpy当中axis的值表示的是这个多维数组维度的下标,比如有一个二维数组a,a的shape是(5,6),也就是说a有5行6列,axis=0表示的就是[5,6]中的第一维,也就是行,axis=1表示的是[5,6]中的第二个维度,也就是列。

通常numpy里面的一些降维操作(aggregate functions)需要我们指定对应的维度,比如sum函数表示对哪个维度求和,max表示对哪个维度求最大值。通常当我们在这些函数里面指定了axis=n时,那么函数输出的数组当中,原来的第n维就被消除了,比如下面的例子:

# 创建一个矩阵a,a的维度为2行3列
>>> a = np.array([[1,2,3],[4,5,6]])
>>> print a
[[1 2 3]
 [4 5 6]]
>>> print a.shape
(2, 3)

# b表示沿着axis=0(行)这条轴取max,得到的结果就是把输入数组的'行'给消除了,2行变1行
>>> b = a.max(axis=0)
>>> print b
[4 5 6]
>>> print b.shape
(3,)

# c表示沿着axis=1(列)这条轴取max,得到的结果就是把输入数组的'列'给消除了,3列变1列
>>> c = a.max(axis=1)
>>> print c
[3 6]
>>> print c.shape
(2,)

猜你喜欢

转载自blog.csdn.net/huang_shao1/article/details/82219449