【numpy pytorch】数组的轴
创始人
2025-05-31 20:24:58

数组的轴

数组的轴是一个很重要的概念,也是numpy数组中最不好理解的一个概念,它经常出现在np.sum(), np.max() 这样关键的聚合函数中。
先看一个例子:

interest_score = np.random.randint(10, size=(4,3))
interest_score
array([[0, 8, 1],[6, 2, 6],[8, 1, 8],[6, 4, 0]])

axis = 0 的维度计算求和

np.sum(interest_score, axis=0)
array([20, 15, 15])

axis = 1 的维度计算求和

np.sum(interest_score, axis=1)
array([ 9, 14, 17, 10])

对于二维的,是比较好理解的。
在这里插入图片描述
1 轴可以理解为 一个学生的总分
0 轴可以理解为每一科的总分

高维数组

高维数组的轴的理解就有一点难了。

a = np.arange(18).reshape(3, 2, 3)
a
array([[[ 0,  1,  2],[ 3,  4,  5]],[[ 6,  7,  8],[ 9, 10, 11]],[[12, 13, 14],[15, 16, 17]]])

这个数组,谁是轴0,1,2呢?

np.sum(a)
153

np.sum 是计算所有的元素。
先感性的认识一下这3个轴
aixs = 0

np.sum(a, axis=0)
array([[18, 21, 24],[27, 30, 33]])

aixs = 1

np.sum(a, axis=1)
array([[ 3,  5,  7],[15, 17, 19],[27, 29, 31]])

axis = 2

np.sum(a, axis=2)
array([[ 3, 12],[21, 30],[39, 48]])

答案揭晓:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

a.max(axis=0)
array([[12, 13, 14],[15, 16, 17]])
a.max(axis=1)
array([[ 3,  4,  5],[ 9, 10, 11],[15, 16, 17]])
a.max(axis=2)
array([[ 3,  4,  5],[ 9, 10, 11],[15, 16, 17]])

本来以为学清楚了,其实还是挺糊涂的。
这个时候可以通过减少维度的形式来解释

[[0,1,2],[3,4,5]]

axis =0 的最大值是
[3,4,5]
axis = 1 的最大值
[2,5]
这样是不是清楚了。

axis 参数非常常见,不光光出现在刚才介绍的 sum 与 max,还有很多其他的聚合函数也会用到,例如 min、mean、argmin(求最小值下标)、argmax(求最大值下标)等。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...