numpy——轴axis的意义

numpy——轴axis的意义

Date : 2021-5-17

import numpy as np
result = np.arange(24).reshape(2,3,4)
print("result:\n",result)
print("shape of result:\n",result.shape)
print("ndim of result:\n",result.ndim)
print("sum of result axis 0:\n",result.sum(axis=0))
print("sum of result axis 1:\n",result.sum(axis=1))
print("sum of result axis 2:\n",result.sum(axis=2))

代码运行结果为:

result:
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
shape of result:
(2, 3, 4)
ndim of result:
3
sum of result axis 0:
[[12 14 16 18]
[20 22 24 26]
[28 30 32 34]]
sum of result axis 1:
[[12 15 18 21]
[48 51 54 57]]
sum of result axis 2:
[[ 6 22 38]
[54 70 86]]

从上述代码运行结果可以看出,result的shape为(2,3,4),维度为3,共有3个轴,轴axis = 0,1,2对应的长度分别为2,3,4,沿axis = 0的轴进行求和运算,得到的结果的shape为(3,4);沿axis = 1的轴进行求和运算,得到的结果的shape为(2,4);沿axis = 2的轴进行求和运算,得到的结果的shape为(2,3)。对比result的shape(2,3,4),则可以发现,沿axis=0,1,2的轴进行求和的结果的shape相当于(1,3,4)、(2,1,4)和(2,3,1),即沿轴进行运算相当于沿轴的分类进行运算。
以甲乙两个人的身材在不同年龄的身材为例,甲10岁、20岁、30岁的身高体重分别为[30kg,130cm]、[60kg,180cm]、[80kg,183cm];乙10岁、20岁、30岁的身高体重分别为[25kg,120cm]、[50kg,165cm]、[70kg,168cm],则甲乙两人的年龄身材数据构成的数组为:
[[[30,130],
[60,180],
[80,183]],

[[25,120],
[50,165],
[70,168]]]
其中axis = 0代表人物轴(长度为2,甲、乙),axis = 1代表年龄轴(长度为3,10岁,20岁,30岁), axis = 2代表身材轴(长度为2,身高,体重),对axis = 0的人物轴进行取平均值运算,相当于求在不同年龄(10岁,20岁,30岁)甲和乙的身材的平均值,结果消去了人物轴;对axis = 1的年龄轴进行取平均值运算,相当于求不同人物(甲和乙)在10岁、20岁和30岁时的身材的平均值,结果消去了年龄轴;对axis = 2的身材轴进行取平均值运算,相当于求不同人物(甲和乙)在10岁、20岁和30岁时的身高和体重的平均值(mean(cm+kg),无实际意义),结果消去了身材轴,数据无实际意义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值