2017-02-09 7 views
0

Matrix 68x68 in Vektor von 2346 Elemente von my_matrix [np.tril_indices (68)] umgewandelt. Erledige einige Dinge damit und danach möchte ich es wieder in Matrix von 68x68 rekonstruieren.Wie man eine Matrix aus Vektor Python

Endgültige Matrix sollte wie folgt sein. Meine Matrix wäre nur im unteren Teil von Diagonale. Der Rest würde auf Null gesetzt werden.

enter image description here

Hinweis: Wie Sie Bild von meiner ursprünglichen Matrix sehen Grün ist Wert von Vektor, roten Nullen sind.

Antwort

2

Verwenden Sie die gleiche Indizes von np.tril_indices zu rekonstruieren -

N = 68 # Number of rows/cols in original array 
r,c = np.tril_indices(N) # Get the lower triangular region indices 

# Initialize o/p array and assign from data_array (2346) elems array 
out = np.zeros((N,N),dtype=data_array.dtype) 
out[r,c] = data_array 
Verwandte Themen