NumPy - получение минимального значения в строке и сохранение формы - PullRequest
0 голосов
/ 28 февраля 2020

Скажем, у меня есть массив с формой (N, 5, 2). Я хотел бы получить минимальное значение вдоль одной оси.

Чтобы сделать это, я сделал следующее:

np.min(arr[:, :, 0], axis=1)

Однако это возвращается с формой (N,), когда я хотел бы (N, 1); это может быть достигнуто с помощью:

np.min(arr[:, :, 0], axis=1).reshape(arr.shape[0], 1)

Это, однако, кажется довольно многословным и заставляет меня задуматься, есть ли лучший путь.

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Вы можете построить массив с дополнительной осью, используя:

x<b>[...,None]</b>

Тогда мы можем таким образом вычислить минимум по второй оси:

x<b>[...,None]</b>.min(axis=1)
1 голос
/ 28 февраля 2020

Вы можете попробовать использовать срез, и он будет возвращен в виде (N, 1)

>>> np.min(x[:, :, 0:1], axis = 1).shape

#or

>>> np.min(x[...,0:1], axis = 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...