- 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 中的二元运算符
NumPy 中的二元运算符是对两个操作数(通常是数组)执行按元素运算的操作。这些运算包括加法、减法、乘法、除法、逻辑运算等等。
例如,如果您有两个数组,您可以将它们相加、相减、将它们的元素相乘等等。每个运算都是按元素进行的,这意味着该运算应用于两个数组中每一对对应的元素。
以下是 NumPy 包中提供的位运算函数。
序号 | 操作和描述 |
---|---|
1 | bitwise_and
计算数组元素的按位与运算 |
2 | bitwise_or
计算数组元素的按位或运算 |
3 | bitwise_xor
计算数组元素的按位异或。结果的每一位如果输入中对应的位不同则为 1。 |
4 | left_shift
将二进制表示的位向左移动 |
5 | right_shift
将二进制表示的位向右移动 |
6 | bitwise_right_shift
将整数的位向右移动。 |
7 | invert
计算按位非 |
8 | bitwise_invert
计算元素的按位反转。 |
9 | packbits
将二进制数组的元素打包成打包的位域表示。 |
10 | unpackbits
将二进制数组的元素解包成位列表。 |
11 | binary_repr
将整数转换为其作为字符串的二进制表示。 |
按位与 (&) 运算
按位与运算比较两个数字的每一位。如果两个位都是“1”,则结果为“1”;否则为“0”。
# (0101 in binary) a = 5 # (0011 in binary) b = 3 # (0001 in binary, which is 1 in decimal) result = a & b print("The result obtained is:",result)
以下是获得的输出:
The result obtained is: 1
按位或 (|) 运算
按位或运算比较两个数字的每一位。如果任一位是“1”,则结果为“1”;如果两个位都是“0”,则结果为“0”。
# (0101 in binary) a = 5 # (0011 in binary) b = 3 # (0111 in binary, which is 7 in decimal) result = a | b print("The result obtained is:",result)
这将产生以下结果:
The result obtained is: 7
按位非 (~) 运算
按位非运算反转数字的每一位,将“0”变为“1”,将“1”变为“0”。这也称为按位补码。
# (0101 in binary) a = 5 # (1010 in binary, which is -6 in decimal with two's complement) result = ~a print("The result obtained is:",result)
以下是上述代码的输出:
The result obtained is: -6
左移 (<<) 运算
左移运算将数字的位向左移动指定数量的位置。左侧移出的位将被丢弃,右侧移入 0。
# (0101 in binary) a = 5 # (1010 in binary, which is 10 in decimal) result = a << 1 print("The result obtained is:",result)
获得的输出如下所示:
The result obtained is: 10
右移 (>>) 运算
右移运算将数字的位向右移动指定数量的位置。右侧移出的位将被丢弃,最左边的位将根据数字的符号填充(带符号整数的算术移位)。
# (0101 in binary) a = 5 # (0010 in binary, which is 2 in decimal) result = a >> 1 print("The result obtained is:",result)
执行上述代码后,我们将得到以下输出:
The result obtained is: 2
广告