如何从上一维的单列中获取多维numpy数组中的行?

时间:2019-07-08 05:25:53

标签: python arrays numpy indexing masking

我有一个维度为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

这是可以理解的,那我该怎么办? 我也尝试了以下答案: Delete rows from numpy array depending on a condition on a single cell

但是,它们不适用于我的情况。

另外,numpy中的a[...,4:5]a[...,4]之间有什么区别,我以为它们是相同的,但是a[...,4:5].shape返回(16, 13, 13, 3, 1)的形状和{{1} }返回a[...,4].shape形状。

0 个答案:

没有答案