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[, signature])

参数

以下是 NumPy bitwise_and()函数的参数:

  • x1: 第一个输入数组或标量。
  • x2: 第二个输入数组或标量。必须可广播到x1的形状。
  • out(可选):结果存储到的位置。如果提供,则其形状必须与x1x2的广播输出匹配。
  • where(可选):确定执行运算位置的条件。在此条件为 True 的位置计算结果。
  • **kwargs: 其他关键字参数。

返回值

此函数返回包含按位与运算结果的数组。

示例 1

以下是 NumPy bitwise_and()函数的基本示例。此示例演示如何计算两个数字的按位与。

import numpy as np 

# Print binary equivalents of 13 and 17
print('Binary equivalents of 13 and 17:')
a, b = 13, 17
print(bin(a), bin(b))
print('\n')  

# Print bitwise AND of 13 and 17
print('Bitwise AND of 13 and 17:')
print(np.bitwise_and(a, b))

以下是将bitwise_and()函数应用于数字 13 和 17 的输出:

Binary equivalents of 13 and 17:
0b1101 0b10001

Bitwise AND of 13 and 17:
1

示例 2

在此示例中,我们演示如何创建两个 2D NumPy 数组,显示它们的属性并计算它们的按元素按位与。

import numpy as np

# Creating two numpy arrays using the array() method
# We have inserted elements of int type
arr1 = np.array([[49, 6, 61],
                 [82, 69, 29]])
arr2 = np.array([[40, 60, 61],
                 [81, 55, 32]])

# Display the arrays
print("Array 1:", arr1)
print("Array 2:", arr2)

# Get the type of the arrays
print("Our Array 1 type:", arr1.dtype)
print("Our Array 2 type:", arr2.dtype)

# Get the dimensions of the Arrays
print("Our Array 1 Dimensions:",arr1.ndim)
print("Our Array 2 Dimensions:",arr2.ndim)

# Get the shape of the Arrays
print("Our Array 1 Shape:",arr1.shape)
print("Our Array 2 Shape:",arr2.shape)

# To compute the bit-wise AND of two arrays element-wise, use the numpy.bitwise_and() method in Python Numpy
print("Result:",np.bitwise_and(arr1, arr2))

以下是上述示例的输出:

Array 1: [[49  6 61]
 [82 69 29]]
Array 2: [[40 60 61]
 [81 55 32]]
Our Array 1 type: int64
Our Array 2 type: int64
Our Array 1 Dimensions: 2
Our Array 2 Dimensions: 2
Our Array 1 Shape: (2, 3)
Our Array 2 Shape: (2, 3)
Result: [[32  4 61]
 [80  5  0]]
numpy_binary_operators.htm
广告