Как сделать матрицу из векторного Python

Матрица 68x68 преобразована в вектор из 2346 элементов с помощью my_matrix[np.tril_indices(68)]. Кое-что с ним сделал, и после этого я хотел бы восстановить его обратно на матрицу 68x68.

Окончательная матрица должна быть следующей. Моя матрица была бы только в нижней части от диагонали. Остальные будут обнулены. Как вы можете видеть изображение из моей исходной матрицы:

введите здесь описание изображения

Примечание. Зеленый цвет — значения из вектора, красный — нули.


person Michael Tesař    schedule 09.02.2017    source источник


Ответы (1)


Используйте те же индексы из 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
person Divakar    schedule 09.02.2017