У меня есть матрица с нулями в диагонали и наибольшее значение, например, 20 и самое низкое 1, я хочу теперь изменить 20 на 1, 19 на 2, а также наоборот, с 1 на 20, от 2 до 19. Диагональ все равно должна оставаться нулевой или принимать значение infinte.
В настоящее время я просто знаю, как их масштабировать, но нет. Если этот вопрос дублирует, пожалуйста, направьте меня, я не смог найти ответ.
matrix=pd.DataFrame(np.random.randint(0,20,size=(4, 4)),
columns=list('ABCD'))
matrix.values[[np.arange(len(matrix))]*2]=0
#this is just scaling down, which Idont want
revisedmatrix=(1./(matrix+1))
revised.values[[np.arange(len(revised))]*2]=0