NumPy:对数组进行按位与操作

3
我正在尝试对一个简单的布尔数组中的所有值进行“&”操作。我拥有的数组如下:
array([False False True], dtype=bool) 

我能想到的唯一方法就是将数组中的值切片,并使用 "&" 来得到 "False" 的结果。我感觉一定有更好的方法,但我对numpy的了解不够,无法正确使用它。

1
只是提供信息,这个操作不是在内存中按位运算,而是按字节运算,因为布尔变量每个占用一个完整的字节 :/。但是如果需要,您可以使用运算符 &,|,<<,>> 在例如 np.uint8 变量上进行真正的按位运算。 - eickenberg
1个回答

2

使用arr.all(),它与np.all(arr)相同:

import numpy as np
arr = np.array([False, False, True], dtype=bool) 
arr.all()
=> False
np.all(arr)
=> False

1
为了完整性,np.all 的反义词是 np.any - eickenberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接