- NumPy 教程
- NumPy - 首页
- NumPy - 简介
- NumPy - 环境配置
- NumPy 数组
- NumPy - Ndarray 对象
- NumPy - 数据类型
- NumPy 数组的创建和操作
- NumPy - 数组创建例程
- NumPy - 数组操作
- NumPy - 从现有数据创建数组
- NumPy - 从数值范围创建数组
- NumPy - 数组迭代
- NumPy - 数组重塑
- NumPy - 数组连接
- NumPy - 数组堆叠
- NumPy - 数组分割
- NumPy - 数组扁平化
- NumPy - 数组转置
- NumPy 索引和切片
- NumPy - 索引与切片
- NumPy - 高级索引
- NumPy 数组属性和运算
- NumPy - 数组属性
- NumPy - 数组形状
- NumPy - 数组大小
- NumPy - 数组步幅
- NumPy - 数组元素大小
- NumPy - 广播
- NumPy - 算术运算
- NumPy - 数组加法
- NumPy - 数组减法
- NumPy - 数组乘法
- NumPy - 数组除法
- NumPy 高级数组运算
- NumPy - 交换数组的轴
- NumPy - 字节交换
- NumPy - 副本与视图
- NumPy - 元素级数组比较
- NumPy - 数组过滤
- NumPy - 数组连接
- NumPy - 排序、搜索和计数函数
- NumPy - 数组搜索
- NumPy - 数组的并集
- NumPy - 查找唯一行
- NumPy - 创建日期时间数组
- NumPy - 二元运算符
- NumPy - 字符串函数
- NumPy - 数学函数
- NumPy - 统计函数
- NumPy - 矩阵库
- NumPy - 线性代数
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 绘制直方图
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高级操作
- NumPy - 数组排序
- NumPy - 沿轴排序
- NumPy - 使用花式索引排序
- NumPy - 结构化数组
- NumPy - 创建结构化数组
- NumPy - 操作结构化数组
- NumPy - 字段访问
- NumPy - 记录数组
- NumPy - 载入数组
- NumPy - 保存数组
- NumPy - 向数组追加值
- NumPy - 交换数组的列
- NumPy - 向数组插入轴
- NumPy 处理缺失数据
- NumPy - 处理缺失数据
- NumPy - 识别缺失值
- NumPy - 删除缺失数据
- NumPy - 估算缺失数据
- NumPy 性能优化
- NumPy - 使用数组进行性能优化
- NumPy - 使用数组进行矢量化
- NumPy - 数组的内存布局
- NumPy 线性代数
- NumPy - 线性代数
- NumPy - 矩阵库
- NumPy - 矩阵加法
- NumPy - 矩阵减法
- NumPy - 矩阵乘法
- NumPy - 元素级矩阵运算
- NumPy - 点积
- NumPy - 矩阵求逆
- NumPy - 行列式计算
- NumPy - 特征值
- NumPy - 特征向量
- NumPy - 奇异值分解
- NumPy - 求解线性方程组
- NumPy - 矩阵范数
- NumPy 元素级矩阵运算
- NumPy - 求和
- NumPy - 平均值
- NumPy - 中位数
- NumPy - 最小值
- NumPy - 最大值
- NumPy 集合运算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 并集
- NumPy - 差集
- NumPy 有用资源
- NumPy 编译器
- NumPy - 快速指南
- NumPy - 有用资源
- NumPy - 讨论
NumPy 按位或() 函数
NumPy 的bitwise_or()函数对两个数组或一个数组和一个标量执行逐元素按位或运算。如果输入操作数的对应位中至少有一个为 1,则输出的每个位都设置为 1。
数组必须具有相同的形状或可以广播到公共形状。此函数通常用于需要位级操作的场景,例如图像处理或二进制掩码。
结果是一个新数组,包含输入数组元素的按位或运算结果,其形状和数据类型与输入数组相同。以下是 1 和 0 的位组合的按位或运算结果:
- 0 和 0 的按位或:0
- 0 和 1 的按位或:1
- 1 和 0 的按位或:1
- 1 和 1 的按位或:1
语法
以下是 NumPy bitwise_or() 函数的语法:
numpy.bitwise_or(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])
- x1, x2(类似数组):用于计算这些数组的逐元素按位或运算的输入数组。
- out(可选):这是保存结果的目录。如果给出,则其形状需要是输入广播到的形状。如果没有提供,则返回一个新分配的数组。
- where(可选):此条件对输入进行广播。ufunc 结果将在条件为 True 的位置设置为
out数组。如果不是,则将保留out数组的初始值。 - casting(可选):此参数确定允许的数据类型转换。默认值为
'same_kind'。 - order(可选):控制结果的内存布局顺序。默认返回
'K'。 - dtype(可选):此参数覆盖结果的 dtype。
- subok(可选):如果为 True,则子类将被传递。如果为 False,则结果将是基类数组。
- signature(可选):此参数用于更高级的 ufunc 签名支持。
返回值
此函数返回包含按位或运算结果的数组。
示例 1
以下是 NumPy bitwise_or() 函数的基本示例,它显示了两个整数值的按位或运算:
import numpy as np
a, b = 13, 17
print('Binary equivalents of 13 and 17:')
print(bin(a), bin(b))
print('Bitwise OR of 13 and 17:')
print(np.bitwise_or(a, b))
其输出如下:
Binary equivalents of 13 and 17: 0b1101 0b10001 Bitwise OR of 13 and 17: 29
示例 2
在此示例中,我们使用bitwise_or()函数对两个数组执行逐元素按位或运算:
import numpy as np
# Define two NumPy arrays
arr1 = np.array([10, 20, 30])
arr2 = np.array([1, 2, 3])
# Perform the bitwise OR operation
result = np.bitwise_or(arr1, arr2)
# Print the result
print("Array 1:", arr1)
print("Array 2:", arr2)
print("Bitwise OR result:", result)
以下是对两个数组执行按位或运算的结果:
Array 1: [10 20 30] Array 2: [1 2 3] Bitwise OR result: [11 22 31]
示例 3
NumPy 中的广播允许通过将不同形状的数组对齐到公共形状来对这些数组进行逐元素运算。在此示例中,我们展示了按位或运算如何与广播一起工作:
import numpy as np
# Define the arrays
a = np.array([1, 2, 4]) # Shape: (3,)
b = np.array([[5, 6, 7]]) # Shape: (1, 3)
# Perform bitwise OR with broadcasting
result = np.bitwise_or(a, b)
print("Array a:", a)
print("Array b:", b)
print("Bitwise OR result:\n", result)
以下是上述示例的输出:
Array a: [1 2 4] Array b: [[5 6 7]] Bitwise OR result: [[5 6 7]]
numpy_binary_operators.htm
广告