У меня есть матрица
x = array([[ 1, 2, 4, 6],
[ 8, 29, 11, 35],
[18, 16, 28, 25],
[26, 28, 53, 52]])
Я хочу получить максимум и минимум вдоль строки и столбца и сделать его равным 1 и остальным 0. Я делаю следующим образом, чтобы получить максимум и минимум вдоль столбца:
getMax = np.where(x == np.amax(x, axis=0), 1, 0)
getMin = np.where(x == np.amin(x, axis=0), 1, 0)
после этого я получаю:
array([[0, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 0, 0],
[1, 0, 1, 1]]) for maximum
и
array([[1, 1, 1, 1],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]) for minimum
, но когда я делаю следующее, чтобы получить мин и макс вдоль строки
getMax = np.where(x == np.amax(x, axis=1), 1, 0)
getMin = np.where(x == np.amin(x, axis=1), 1, 0)
Я получаю это:
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 0]]) for maximum
и
array([[1, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]) for minimum
что не так в коде для мин и макс вдоль строки?