numpy中sum(axis=0)和axis=1的計算原理

看起來挺簡單的樣子,可是在給sum函數中加入參數。sum(a,axis=0)或者是.sum(axis=1) 就有點不解了數組

在我實驗之後發現 咱們平時用的sum應該是默認的axis=0 就是普通的相加 函數

而當加入axis=1之後就是將一個矩陣的每一行向量相加post


例如:spa

import numpy as npblog

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

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

 

 下面是本身的實驗結果,與上面的說明有些不符:numpy

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

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

結果分別是: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]

相關文章
相關標籤/搜索