索引中的NumPy布尔数组



假设我们有两个数组

a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([True, False, False, True]).reshape(2,2)

给出

a = [[1, 2],
[3, 4]] 
b = [[True, False],
[False, True]]

我们可以做a[b],只得到b的值,这些值对我们来说是真的[1, 4]

我试着做a[而不是b]来得到那些虚假的,但得到了一个错误。我知道我可以做a[b == False],但我想用Python的方式来做。

有什么解决方案吗?

您可以使用np.logical_not~运算符:

>>> a[np.logical_not(b)]
>>> a[~b]

最新更新