У меня есть вопрос о перестановке массива numpy, у меня есть массив numpy, это выглядит так:
numpy_array = np.array([[ 1, 2, 3, 4, -10],
[ -4, 1, 1, 1, 1],
[ 2, -7, 1, 1, 3],
[ 1, 6, -12, 2, 3],
[ 0, 3, 1, -4, 0]])
Я хотел бы переставить этот массив: отрицательное значение на каждом строка будет в диагональной позиции, то есть поменяйте местами отрицательный элемент с диагональной позицией, поэтому в конце я получу новый массив:
numpy_array_new = np.array([[-10, 2, 3, 4, 1],
[ 1, -4, 1, 1, 1],
[ 2, 1, -7, 1, 3],
[ 1, 6, 2, -12, 3],
[ 0, 3, 1, 0, -4]])
Моя идея состоит в том, чтобы используйте
np.fill_diagonal(numpy_array, 0)
конечно, заполните диагональ отрицательными элементами не с 0, но с отрицательным элементом в каждой строке, кто-нибудь знает об этом? Спасибо за помощь