2017-10-13 42 views
0

我不明白這個代碼:數組與軸的元組之和:程序到底在做什麼?

D=[[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]] 
print(np.sum(D, axis=(-2,-1))) 

如果能夠理解軸的總和= -2例如,那就意味着我們去的尺寸「-2」和我們總結這一切元素尺寸。

在一般的情況下,具有d維陣列稱爲A,我將有:

np.sum(A,axis=d) 

,將返回我尺寸的矩陣 「B」 d-1如

B [ i1] ... [iD-1] = Sum(A [i1] ... [id] ... [iD])

其中總和在id上完成。

但是用軸的元組我不明白它的含義?我嘗試了一些例子,但我沒看到發生了什麼。

你能幫我嗎?

謝謝。

回答

1

這意味着對在它們出現的順序在元組中指定的所有軸總結:在第二軸線

>>> np.sum(D, axis=-2) 
array([[ 5, 7, 9], 
     [17, 19, 21]]) 
>>> np.sum(_, axis=-1) 
array([21, 57]) 

(-2, -1)款項從最內部,然後求和上的最後一個軸。

作爲第二個例子,取(-3,-2,-1)

>>> np.sum(D, axis=(-3,-2,-1)) 
78 
>>> # explicate summation on (-3,-2,-1) 
>>> np.sum(D, axis=-3) 
array([[ 8, 10, 12], 
     [14, 16, 18]]) 
>>> np.sum(_, axis=-2) 
array([22, 26, 30]) 
>>> np.sum(_, axis=-1) 
78