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

来源:互联网 发布:无敌邮件营销软件 编辑:程序博客网 时间:2024/05/18 03:56

我们平时用的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()表示所有的矩阵元素之和

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

这里写图片描述

原创粉丝点击