python sum函式的用法
阿新 • • 發佈:2018-12-27
需要用到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]