У меня есть многомерный массив 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)
форму.