python sum函数的用法

需要用到python sum()函数,总结了一下,不对之处烦请指出,谢谢。

1维情况下

 (1)输入axis=0

import numpy as np

a=np.array([1,2,3,4,5])
b=a.sum(axis=0)
print(b)

      输出结果:15,   也就是一维数组各个元素的和

(2)如果在一维情况下输入axis=1则会报如下错误,也就相当于数组维度越界。

2维情况下

  (1)输入axis=0

import numpy as np

b=np.array([[3,7,6],[2,4,5]])
print(b.sum(axis=0))

相当于是:
[[3,7,6],
 [2,4,5]]
没一列对应元素相加
3+2,7+4,6+5
输出:
[ 5 11 11]

此时相当于是将每一列对应的元素相加,即3+2=5,7+4=11,6+5=11

(2)输入axis=1

import numpy as np

b=np.array([[3,7,6],[2,4,5]])
print(b.sum(axis=1))

输出为
[16 11]
相当于是3+7+6,2+4+5,即每一行的元素分别相加

 相当于是3+7+6,2+4+5,即每一行的元素分别相加

3维情况下

(1)axis=0

import numpy as np

b=np.array([
    [[3,7,6],[3,4,5]],
    [[2,4,5],[1,1,1]]
])
print(b.sum(axis=0))
输出[[ 5 11 11]
     [ 4  5  6]]
类似二维的情况[[3+2,7+4,6+5],[3+1,4+1,5+1]]

(2)axis=1

import numpy as np

b=np.array([
    [[3,7,6],[3,4,5]],
    [[2,4,5],[1,1,1]]
])
print(b.sum(axis=1))


输出[[ 6 11 11]
     [ 3  5  6]]
三维中包含两行两列的二维数组,每一行对应的元素分别相加【[3+3,7+4,6+5],[2+1,4+1,5+1]】
以结果的第一行为例,结果由来是:
[
    [ b[0][0][0]+b[0][1][0], b[0][0][1]+b[0][1][1], b[0][0][2]+b[0][1][2] ],
    [ b[1][0][0]+b[1][1][0], b[1][0][1]+b[1][1][1], b[1][0][2]+b[1][1][2] ]
]

(3)axis=2

import numpy as np

b=np.array([
    [[3,7,6],[3,4,5]],
    [[2,4,5],[1,1,1]]
])
print(b.sum(axis=2))

输出[[16 12] ------>3+7+6,3+4+5
     [11  3]------>2+4+5,1+1+1]

猜你喜欢

转载自blog.csdn.net/myhome908/article/details/85272559