Извлечение нижнего треугольника и проецирование его в другое 2D-пространство

#python #numpy

Вопрос:

Предположим, что у нас есть array , как показано ниже

 arr_g=np.tril(np.random.rand(3,3),-1)
 

Который, что-то вроде приведенного ниже (обратите внимание, что значение может отличаться, так как я не сделал начальную константу постоянной)

 0.00000,0.00000,0.00000
0.11089,0.00000,0.00000
0.15405,0.11389,0.00000
 

Затем я хотел бы извлечь только нижнее значение tri, используя tril_indices_from

 lower_idx=np.tril_indices_from(arr_g)
 

Извлечение только нижнего значения tri

 A_1=list(arr_g[lower_idx])
 

Однако я понятия не имею, как представить этот список ценностей в следующей форме

 0.00000,0.00000,0.00000
0.11089,0.00000,0.00000
0.15405,0.11389,0.00000
 

p.s: Значение может быть другим, но логика остается

Благодарен за любую помощь

Ответ №1:

Вот возможный подход:

 X = np.zeros((3, 3))
X[np.tril_indices_from(X)] = A_1