【发布时间】:2021-03-05 01:00:32
【问题描述】:
从一个充满值的矩阵(见图),我想获得一个矩阵,每行和每列最多有一个值。如果有多个值,则应保留最大值,将另一个设置为 0。我知道我可以使用 np.max 和 np.argmax 做到这一点,但我想知道是否有一些聪明的方法可以做到这一点我不知道。
这是我目前的解决方案:
tmp = np.zeros_like(matrix)
for x in np.argmax(matrix, axis=0): # get max on x axis
for y in np.argmax(matrix, axis=1): # get max on y axis
tmp[x][y] = matrix[x][y]
matrix = tmp
【问题讨论】: