python中的sum函数.sum(axis=1)

我们平时用的sum应该是默认的axis=0 就是普通的相加,而当加入axis=1以后就是将一个矩阵的每一行向量相加

axis=0, 表示列。
axis=1, 表示行。

对于向量:

>>> import numpy as np
>>> np.array([0, 2, 1])
array([0, 2, 1])
>>> b.sum()
3
>>> b.sum(axis=0)
3
>>> b.sum(axis=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program_software\Anaconda\lib\site-packages\numpy\core\_methods.py", line 32, in _sum
    return umr_sum(a, axis, dtype, out, keepdims)
ValueError: 'axis' entry is out of bounds
>>> 

可见对于向量来说只有0轴,没有1轴,即默认是列的存储形式,类似matlab里的向量形式

对于矩阵:

>>> a = np.array([[0, 2, 1]])
>>> a.sum()
3
>>> a.sum(axis=0)
array([0, 2, 1])
>>> a.sum(axis=1)
array([3])
>>> 

对比可以看出向量和矩阵得到的结果不同

>>> c=array([[0, 2, 1], [3, 5, 6], [0, 1, 1]])
>>> c.sum(axis=1)
array([ 3, 14,  2])
>>> c.sum(axis=0)
array([3, 8, 8])
>>> c.sum()
19

对于矩阵axis=0, 表示列;axis=1, 表示行
sum()表示所有的矩阵元素之和

下图暂且称为矩阵的切片图吧。。

这里写图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值