Numpy bitwise_and() 函数
NumPy bitwise_and() 函数对两个数组的对应元素执行按位与运算。此函数比较输入元素的二进制表示,如果输入数组中两个对应位均为 1,则将结果中的每个位设置为 1;否则,将结果中的每个位设置为 0。
此运算是逐元素的,这意味着它会独立处理输入数组中的每对元素。bitwise_and() 支持广播,允许它根据广播规则对齐不同形状的数组。
此函数适用于二进制数据操作和低级数据处理。以下是位组合 1 和 0 的按位与运算结果 -
- 0 与 0 的按位与:0
- 0 与 1 的按位与:0
- 1 与 0 的按位与:0
- 1 与 1 的按位与:1
语法
以下是 Numpy bitwise_and() 函数的语法 -
numpy.bitwise_or(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[,签名])
参数
以下是 Numpy bitwise_and() 函数的参数 -
- x1:第一个输入数组或标量。
- x2:第二个输入数组或标量。必须可广播为 x1 的形状。
- out(可选): 存储结果的位置。如果提供,则其形状必须与 x1 和 x2 的广播输出匹配。
- where(可选): 用于确定操作执行位置的条件。当条件为 True 时,计算结果。
- **kwargs:附加关键字参数。
返回值
此函数返回包含按位与运算结果的数组。
示例 1
以下是 Numpy bitwise_and() 函数的基本示例。此示例演示如何计算两个数字的按位与 -
import numpy as np # 打印 13 和 17 的二进制等值结果 print('13 和 17 的二进制等值结果:') a, b = 13, 17 print(bin(a), bin(b)) print(' ') # 打印 13 和 17 的按位与 print('13 和 17 的按位与:') print(np.bitwise_and(a, b))
以下是 bitwise_and() 函数对数字 13 和 17 执行操作后的输出 -
13 和 17 的二进制等值结果: 0b1101 0b10001 13 和 17 的按位与: 1
示例 2
本例中,我们展示了如何通过显示它们的属性并计算它们元素的按位与来创建两个二维 NumPy 数组 -
import numpy as np # 使用 array() 方法创建两个 NumPy 数组 # 我们插入了 int 类型的元素 arr1 = np.array([[49, 6, 61], [82, 69, 29]]) arr2 = np.array([[40, 60, 61], [81, 55, 32]]) # 显示数组 print("数组 1:", arr1) print("数组2:", arr2) # 获取数组的类型 print("数组 1 的类型:", arr1.dtype) print("数组 2 的类型:", arr2.dtype) # 获取数组的维度 print("数组 1 的维度:",arr1.ndim) print("数组 2 的维度:",arr2.ndim) # 获取数组的形状 print("数组 1 的形状:",arr1.shape) print("数组 2 的形状:",arr2.shape) # 要对两个数组进行元素位与运算,请使用 Python Numpy 中的 numpy.bitwise_and() 方法 print("结果:",np.bitwise_and(arr1, arr2))
以下是上述示例的输出 -
数组 1:[[49 6 61] [82 69 29]] 数组 2:[[40 60 61] [81 55 32]] 数组 1 的类型:int64 数组 2 的类型:int64 数组 1 的维度:2 数组 2 的维度:2 数组 1 的形状:(2, 3) 数组 2 的形状:(2, 3) 结果:[[32 4 61] [80 5 0]]