2017-02-09 5 views
0

Matrix 68x68 преобразован в вектор из 2346 элементов my_matrix [np.tril_indices (68)]. Сделали некоторые вещи с этим, и после этого я хотел бы восстановить его обратно в матрицу 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 
Смежные вопросы