Как получить строки из многомерного массива NumPy из одного столбца из последнего измерения? - PullRequest
2 голосов
/ 08 июля 2019

У меня есть многомерный массив numpy a с размерностью (16, 13, 13, 3, 6), и я хочу иметь только строки со значениями в a[...,4:5] >0, как я могу получить только те строки, которые имеют a[...,4:5] > 0 из последнее измерение?

>>> a.shape
>>>(16, 13, 13, 3, 6)

Я пробовал:

a[..., a[...,4:5]> 0]

But, it gives the following error:
IndexError: boolean index did not match indexed array along dimension 4; dimension is 6 but the corresponding boolean dimension is 1

Что понятно, что я могу сделать? Я также попробовал следующие ответы: Удаление строк из массива numpy в зависимости от условия в отдельной ячейке

Но они не относятся к моему делу.

Кроме того, в чем разница между a[...,4:5] и a[...,4] в numpy, я думал, что они будут одинаковыми, но a[...,4:5].shape возвращает (16, 13, 13, 3, 1) форму и a[...,4].shape возвращает (16, 13, 13, 3, 3) форму.

...