2015-01-14 48 views
0

欲減去從該行的元素的其餘部分行的第一個值的每個相應的行,所以對於的Python減去第一元件從矩陣

import numpy as np 

z = np.array([[1,2,3,4],[4,5,6,7],[7,8,9,9]]) 

for n in range(0,3): 
    znew = z[n,:]-z[n,0] 

znewnp.array([[0,1,2,3],[0,1,2,3],[0,1,2,2]])。我怎樣才能做到這一點?這種看起來微不足道。

+1

最後一行應該是'[0,1,2,2]'。 –

回答

1

您可以通過採取廣播的優勢,做到這一點:

>>> z - z[:,0][:, None] # or z - z[:,0][:, np.newaxis] 
array([[0, 1, 2, 3], 
     [0, 1, 2, 3], 
     [0, 1, 2, 2]]) 
+1

也是:'z-z [:,[0]]' – hpaulj

相關問題