numpy.packbits

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

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

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

参数
aarray_like

一个整数或布尔数组,其元素应被压缩成位。

axis可选的

钻头包装尺寸。 None 表示封装扁平数组。

bitorder{big',little},可选

输入位的顺序“大”将模仿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恩达雷

uint8类型的数组,其元素表示与输入元素的逻辑(0或非零)值相对应的位。形状 packed 与输入具有相同数量的维度(除非 axis 为“无”,在这种情况下,输出为一维)。

参见

unpackbits

将uint8数组的元素解包到二进制值输出数组中。

实例

>>> 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=10100000,64=0100 0000,192=1100 0000,32=0010 0000。