- 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 packbits() 函数
NumPy 的packbits()函数用于将二进制值数组的元素打包到 uint8 数组中的位中。此函数将二进制值的数组(即 0 和 1)压缩成一个 8 位无符号整数数组,其中结果 uint8 数组中的每个位都表示输入数组中的一个元素。
在此函数中,我们可以沿指定轴或在扁平化的输入数组上进行操作。在处理大型二进制数据数组时,它对于减少内存使用特别有用。
语法
以下是 Numpy packbits() 函数的语法:
numpy.packbits(a, /, axis=None, bitorder='big')
参数
以下是 Numpy packbits() 函数的参数:
- a(array_like): 输入的二进制值数组。
- axis: 此参数是要打包位的轴。如果为 None,则数组会被展平。
- bitorder: 打包表示中的位顺序,可以是“big”或“little”。
返回值
此函数返回一个包含打包字节的uint8类型数组。
示例 1
以下是 Numpy packbits() 函数的基本示例,其中将 1D 位数组打包到字节数组中:
import numpy as np # Define the input array of bits (0s and 1s) bits = np.array([1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1], dtype=np.uint8) # Pack the bits into bytes packed = np.packbits(bits) print(packed)
以下是packbits()函数的输出:
[178 229]
示例 2
在 NumPy 中沿默认轴打包 2D 数组涉及将数组每行中的二进制值 0 和 1 转换为更紧凑的表示形式,例如字节。
packbits()函数的默认轴为 -1,它指的是最后一个轴,对于 2D 数组通常是列。以下是一个示例:
import numpy as np # Define a 2D array of bits bit_array = np.array([[0, 1, 1, 0, 0, 1, 1, 1], [1, 0, 1, 1, 0, 0, 0, 0]], dtype=np.uint8) # Pack the bits into bytes packed_array = np.packbits(bit_array) print("Original bit array:\n", bit_array) print("Packed array:", packed_array)
以下是上述示例的输出:
Original bit array: [[0 1 1 0 0 1 1 1] [1 0 1 1 0 0 0 0]] Packed array: [103 176]
示例 3
以下示例显示了packbits()函数如何在 3D 数组上工作:
import numpy as np # Create a 3D array arr = np.array([[[1, 0, 1], [0, 1, 0]], [[1, 1, 0], [0, 0, 1]], [[1, 1, 0], [0, 0, 1]]]) # Displaying our array print("Array...") print(arr) # Get the datatype print("Array datatype...", arr.dtype) # Get the dimensions of the Array print("Array Dimensions...", arr.ndim) # Get the shape of the Array print("Our Array Shape...", arr.shape) # Get the number of elements of the Array print("Elements in the Array...", arr.size) # To pack the elements of a binary-valued array into bits in a uint8 array, use the numpy.packbits() method in Python Numpy # The result is padded to full bytes by inserting zero bits at the end res = np.packbits(arr) print("Result...", res)
以下是上述示例的输出:
Array... [[[1 0 1] [0 1 0]] [[1 1 0] [0 0 1]] [[1 1 0] [0 0 1]]] Array datatype... int64 Array Dimensions... 3 Our Array Shape... (3, 2, 3) Elements in the Array... 18 Result... [171 28 64]
numpy_binary_operators.htm
广告