Попытка изменить диагональ массива np - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь изменить диагональные значения двумерного массива 6 x 5 (это упражнение из этого учебного руководства: http://scipy -lectures.org / intro / numpy / array_object.html # basic-visualization ). Я должен изменить значения диагонали с нуля до 2,3,4,5,6. Так как это матрица 6 x 5, на самом деле нет «главной» диагонали, и поэтому мне нужно изменить диагональ, начиная со второй строки ([1] [0]) на [5] [4]. Они предлагают прочитать строку документации для diag. Я сделал, и я до сих пор не могу понять, как это сделать. Какие-либо предложения?

1 Ответ

2 голосов
/ 01 июля 2019

Вы можете просто нарезать массив и заполнить его по диагонали:

In [13]: import numpy as np                                                     

In [14]: a = np.zeros((6,5), int)                                               

In [15]: np.fill_diagonal(a[1:], [2,3,4,5,6])                                   

In [16]: a                                                                      
Out[16]: 
array([[0, 0, 0, 0, 0],
       [2, 0, 0, 0, 0],
       [0, 3, 0, 0, 0],
       [0, 0, 4, 0, 0],
       [0, 0, 0, 5, 0],
       [0, 0, 0, 0, 6]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...