假设我们有两个数组
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]