Python numpy.packbits函数方法的使用

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

numpy.packbits

numpy.packbits(a, axis=None, bitorder='big')

将二进制值数组的元素打包为uint8数组中的位。

通过在末尾插入零位将结果填充为完整字节。

参数 :

a :array_like

一个整数或布尔数组,其元素应打包为位。

axisint, 可选

进行位打包的维度。None表示打包扁平化数组。

bit或der{‘big’, ‘little’}, 可选

输入位的顺序。 'big'将模拟bin(val),

[0,0,0,0,0,0,1,1] =>3 = 0b00000011

'little'将颠倒顺序,因此[1、1、0、0、0、0、0、0] =>3。 

默认为‘big’。 1.17.0版中的新功能。

返回值 :

packed :ndarray

uint8类型的数组,

其元素表示对应于输入元素的逻辑(0或非零)值的位。 

包装的形状具有与输入相同的尺寸数(

除非轴为None,在这种情况下输出为1-D)。

例子

>>> a = np.array([[[1,0,1],
...                [0,1,0]],
...               [[1,1,0],
...                [0,0,1]]])
>>> b = np.packbits(a, axis=-1)
>>> b
array([[[160],
        [ 64]],
       [[192],
        [ 32]]], dtype=uint8)

请注意,在二进制中160 = 1010 0000、64 = 0100 0000、192 = 1100 0000和32 = 0010 0000。

推荐阅读
cjavapy编程之路首页