1. 程式人生 > >python sum函式的用法

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]