关于sum的axis的坑

文章讲述了在使用numpy计算矩阵和时对axis参数的常见误解,强调axis=0实际上是按列求和,而不是按行。作者通过示例代码解释了axis参数如何影响矩阵运算,帮助其他新手避免同样的错误。
摘要由CSDN通过智能技术生成

这个坑俺估计是小白要踩的,因为我这一枚小白就理解有误的,基础没打好吧可能,在这给同样疑惑的小伙伴写下,也是记录自己的错误,以免再踩

在计算一个矩阵的和的时候

import numpy as np

a= np.random.randint(1,5,(10,10))
print(a)
print('a.sim(axis=0)',a.sum(axis=0))
print('a.sim(axis=1)',a.sum(axis=1))
print('a.sim()',a.sum())
C:\Users\MADAO\anaconda3\envs\qcnn\python.exe D:\pycharm_\qcnn\QCNN_for_bearing_diagnosis-master\123.py 
[[2 3 3 2 3 1 4 3 3 1]
 [3 2 1 3 1 1 4 2 1 4]
 [4 3 2 2 4 3 4 3 2 4]
 [4 3 2 2 4 2 2 3 2 3]
 [3 4 1 3 1 3 1 1 1 2]
 [2 3 1 1 4 2 4 2 3 2]
 [3 3 3 3 1 3 4 1 4 4]
 [1 4 1 3 3 2 1 2 4 2]
 [3 1 4 2 2 2 1 4 1 1]
 [1 1 2 1 2 4 3 1 1 4]]
a.sim(axis=0) [26 27 20 22 25 23 28 22 22 27]
a.sim(axis=1) [25 22 31 27 20 24 29 23 21 20]
a.sim() 242

Process finished with exit code 0

一般的思维是axis=0 的时候不是按行求和嘛 ,怎么这里是按列求和,其实这里是相反的,axis=0,意思是把0维消掉,即size(10,10)----> (1,10),即是按列求和的亚子,唔,我记得好像李沐在哪里说过,忘记了,反正大概是这个意思把,希望有所帮助~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值