numpy.invert
numpy.invert(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'invert'>
按元素计算按位求逆,或按位求非。
按位计算输入数组中整数的底层二进制表示形式。这个ufunc实现了C/Python操作符~
。
对于有符号整数输入,将返回两者的补码。 在二进制补码系统中,负数由绝对值的二进制补码表示。 这是在计算机上表示有符号整数的最常用方法[1]。 N位二进制补码系统可以表示
参数 : | x :array_like 仅处理整数和布尔类型。 out :ndarray, None, 或 ndarray的tuple 和 None, 可选 结果存储的位置。 如果提供,它必须具有输入传递到的shape。 如果未提供或没有,则返回一个新分配的数组。 元组(只能作为关键字参数)的长度必须等于输出的数量。 where :array_like, 可选 此条件通过输入传递。 在条件为True的位置, 将out数组设置为ufunc结果。 在其他地方,out数组将保留其原始值。 请注意, 如果通过默认的 则条件为False的数组中的位置将保持未初始化状态。 **kwargs 有关其他仅关键字的参数,请参见ufunc文档。 |
返回值 : | out :ndarray 或 scalar 结果。 如果x是标量,则这是标量。 |
Notes
bitwise_not是invert的别名:
>>> np.bitwise_not is np.invert
True
例子
1)对整数数组进行按位取反
import numpy as np
arr = np.array([0, 1, 2, 3, 4], dtype=np.int8)
result = np.invert(arr)
print(result)
2)对布尔数组取反
import numpy as np
bool_arr = np.array([True, False, True])
result = np.invert(bool_arr)
print(result)