NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中bitwise_or方法的使用。

numpy.bitwise_or

numpy.bitwise_or(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'bitwise_or'>

按元素计算两个数组的按位或。

计算输入数组中整数的基础二进制表示形式的按位或。 该ufunc实现了C/Python运算符|

参数 :

x1, x2 :array_like

仅处理整数和布尔类型。 如果x1.shape!= x2.shape

则必须将它们传递为通用形状(即输出的形状)。

out :ndarray, None, 或 ndarray的tuple和 None, 可选

结果存储的位置。 如果提供,它必须具有输入传递到的形状。

 如果未提供或没有,则返回一个新分配的数组。

 元组(只能作为关键字参数)的长度必须等于输出的数量。

where :array_like, 可选

此条件通过输入传递。 在条件为True的位置,

将out数组设置为ufunc结果。 在其他地方,out数组将保留其原始值。

 请注意,如果通过默认的out = None创建了未初始化的输出数组,

则条件为False的数组中的位置将保持未初始化状态。

**kwargs

有关其他仅关键字的参数,请参见ufunc文档。

返回值 :

out :ndarray 或 scalar

结果。 如果x1和x2均为标量,则为标量。

例子

数字13的binaray表示为00001101。同样,16表示为00010000。13和16的按位OR则为00011101129

>>> np.bitwise_or(13, 16)
29
>>> np.binary_repr(29)
'11101'
>>> np.bitwise_or(32, 2)
34
>>> np.bitwise_or([33, 4], 1)
array([33,  5])
>>> np.bitwise_or([33, 4], [1, 2])
array([33,  6])
>>> np.bitwise_or(np.array([2, 5, 255]), np.array([4, 4, 4]))
array([  6,   5, 255])
>>> np.array([2, 5, 255]) | np.array([4, 4, 4])
array([  6,   5, 255])
>>> np.bitwise_or(np.array([2, 5, 255, 2147483647], dtype=np.int32),
...               np.array([4, 4, 4, 2147483647], dtype=np.int32))
array([         6,          5,        255, 2147483647])
>>> np.bitwise_or([True, True], [False, True])
array([ True,  True])

推荐文档

相关文档

大家感兴趣的内容

随机列表