numpy.packbits
numpy.packbits(a, axis=None, bitorder='big')
将二进制值数组的元素打包为uint8数组中的位。
通过在末尾插入零位将结果填充为完整字节。参数 :a :array_like
一个整数或布尔数组,其元素应打包为位。
axis :int, 可选
进行位打包的维度。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。