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

看起来挺简单的样子,但是在给sum函数中加入参数。sum(a,axis=0)或者是.sum(axis=1) 就有点不解了

在我实验以后发现 我们平时用的sum应该是默认的axis=0 就是普通的相加 

当axis=0,就是将一个矩阵的每一列向量相加

当axis=1,就是将一个矩阵的每一行向量相加

例如:

import numpy as np

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

结果就是:array([3,6])

 下面是自己的实验结果,与上面的说明有些不符:

a = np.array([[0, 2, 1]])

print a.sum()
print a.sum(axis=0)
print a.sum(axis=1)

结果分别是:3, [0 1 2], [3]

b = np.array([0, 2, 1])

print b.sum()
print b.sum(axis=0)
print b.sum(axis=1)

结果分别是:3, 3, 运行错误:'axis' entry is out of bounds

 可知:对一维数组,只有第0轴,没有第1轴

c = np.array([[0, 2, 1], [3, 5, 6], [0, 1, 1]])

print c.sum()
print c.sum(axis=0)
print c.sum(axis=1)

结果分别是:19, [3 8 8], [ 3 14  2]

猜你喜欢

转载自blog.csdn.net/zhuiqiuzhuoyue583/article/details/83348707