Каков наилучший способ заполнения нескольких диагональных элементов (но не всех) 2-мерного массива numpy. Я знаю, что numpy.fill_diagonal
- это рекомендуемый способ заполнить все диагональные элементы.Заполнение нескольких диагональных элементов двумерного массива numpy
В настоящее время я просто с помощью цикла:
for i in a_list_of_indices: a_2d_array[i,i] = num
Если массив велик и число диагональных элементов, подлежащих заполнению также велико, есть лучший способ, чем выше.
Просто для справки других, это работает так же для ** н- то есть 'a_3d_array [[1, 2], [1, 2], [1, 2]] = 9' делает' a_3d_array [1, 1, 1] 'и' a_3d_array [2, 2, 2] 'равно '9' – Betaxpression