2017-02-09 91 views
0

通過my_matrix [np.tril_indices(68)]將矩陣68x68轉換爲2346個元素的矢量。用它做了一些事情,之後我想重新將它重構爲68x68的矩陣。如何從矢量Python製作矩陣

最終矩陣應該如下。我的矩陣只會在對角線的下半部分。休息將被歸零。正如你可以從我的原始矩陣看到圖像:

enter image description here

注:綠色是矢量值,紅色是零。

回答

2

使用來自np.tril_indices相同指數重建 -

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