У меня есть двумерный массив numpy, и я хотел бы извлечь диагональ с помощью np.diagonal. Точнее, не фактические значения, а позиции значений, которые принял бы np.diagonal.
Код: Выделить всё
size = 10
value = 1
offset = 1
array = np.random.randint(0, 10, size=(size, size))
diagonal = np.diag(np.full(size,value))+np.diag(np.full(size-1, value),offset)+np.diag(np.full(size-1, value), -offset)
diagonal = np.where(diagonal==0, np.nan, diagonal)
Код: Выделить всё
ValueError: operands could not be broadcast together with shapes (10,10) (11,11)
Источник: https://stackoverflow.com/questions/781 ... p-diagonal