2017-03-15 3 views
0

Ich habe (n, n) numpy Array. Ich möchte einen Spaltenvektor anfügen, in dem jedes Element die Summe der entsprechenden Zeilen ist. Ich füge auch einen Zeilenvektor an das Ende der Matrix an, der eine Summe der entsprechenden Spalten ist. Das Anhängen dieser 1D-Arrays ist jedoch nicht mit einem dimensionalen Standpunkt kompatibel. Ich möchte diese anhängen, habe aber eine Matrix, bei der der Punkt (-1, -1) die Summe der letzten Zeile oder Spalte ist (da sie gleich sind).Add Summe von Zeilen und Spalten zu Matrix

Beispiel;

x = np.random.randint(5, size=(4, 4)) 
columns = np.sum(x,axis=1) 
rows = np.sum(np.transpose(x),axis=1) 
+0

Versuchen Sie, die Summe der Zeilen zuerst als Spalte anzuhängen, um ein '(n, n + 1)' -dimensionales Array zu erstellen, _den_Anhang die Summen der Spalten als Zeile. – Praveen

Antwort

1

Sie können es so machen: Lassen Sie uns zunächst a

n=5 
k=4 
a=np.zeros([n,k]) 
for i in range(n): 
    for j in range(k): 
     a[i][j]=i+2*j 

Dann führen Sie die folgenden Befehle einige Matrix erzeugen. Dies fügt die Zeile:

a=np.append(a,[np.sum(a,axis=0)],axis=0) 

Diese die Spalte

col=np.array([np.sum(a,axis=1)]) 

wir die Spalte

a=np.concatenate((a,col.T),axis=1) 
print(a) 

Hinweis hinzufügen Schließlich berechnet, dass diese kümmert sich um die (-1, -1) auch Eintritt.

Verwandte Themen