将最高值更改为最低值

2024-04-16 19:23:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个对角线上有零的矩阵,最高的值是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

Tags: 答案dataframesizelennp矩阵randommatrix