- 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 unpackbits() 函数
NumPy 的unpackbits()函数用于将uint8数组的元素解包到一个二值输出数组中。它将输入数组中的每个字节(8位)转换为其对应的二进制表示,从而生成一个位数组。
此函数可用于将打包的二进制数据扩展回位级表示。解包过程可以在指定的轴上执行,并且位顺序可以默认为“big”或通过确定最高有效位或最低有效位是否排在前面来设置为“little”端序。
语法
以下是 NumPy unpackbits() 函数的语法:
numpy.unpackbits(a, /, axis=None, count=None, bitorder='big')
参数
以下是 NumPy unpackbits() 函数的参数:
- a (array_like): 类型为 uint8 的输入数组。
- axis (int, 可选): 解包位的轴。如果为 None,则在解包之前将输入数组展平。
- count (int 或 None, 可选): 要解包的位数。必须是 8 的倍数。如果为 None,则解包所有位。
- bitorder ({'big', 'little'}, 可选): 打包表示中位的顺序。“big”表示最高有效位在前,“little”表示最低有效位在前。默认值为“big”。
返回值
此函数返回一个数组,其中每个元素都被解包成其组成位。返回的数组的 dtype 为 uint8。
示例 1
以下是 NumPy unpackbits() 函数的基本示例,其中将打包的二进制数据(即字节)转换为位数组,这对于位级运算或分析很有用:
import numpy as np # Define a 1D array of uint8 values (bytes) byte_array = np.array([0b10101010, 0b11001100], dtype=np.uint8) # Unpack the bytes into individual bits unpacked_array = np.unpackbits(byte_array) print("Original byte array:", byte_array) print("Unpacked array of bits:", unpacked_array)
以下是 unpackbits() 函数的输出:
Original byte array: [170 204] Unpacked array of bits: [1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0]
示例 2
我们可以使用 unpackbits() 将 uint8 值的二维数组沿最后一个轴解包成单个位。以下示例显示了沿轴解包二维数组:
import numpy as np # Define a 2D array of uint8 values (bytes) byte_array_2d = np.array([[0b10101010, 0b11001100], [0b11110000, 0b00001111]], dtype=np.uint8) # Unpack the bytes into individual bits along the last axis (axis=1) unpacked_array = np.unpackbits(byte_array_2d, axis=1) print("Original 2D byte array:") print(byte_array_2d) print("\nUnpacked array of bits along the last axis:") print(unpacked_array)
以下是上述示例的输出:
Original 2D byte array: [[170 204] [240 15]] Unpacked array of bits along the last axis: [[1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0] [1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1]]
numpy_binary_operators.htm
广告