将boolean numpy数组的行编码为字节

era*_*ran 0 python numpy

我有一个nx8维度的numpy数组,dtyp = boolean我想把它转换成一个numpy 1-d数组,其中每一行都被转换成一个字节,通过bin2dec

x = array([[ True,  True, False, False,  True,  True, False, False],
       [ False,  False, False, False,  True,  True, False, False],
       [ True,  False, False, False,  False,  False, False, False]], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

y = array([204 ,12, 128], dtype=uint8)
Run Code Online (Sandbox Code Playgroud)

Ste*_*nes 6

>>> np.packbits(np.uint8(x))
array([204,  12, 128], dtype=uint8)
Run Code Online (Sandbox Code Playgroud)

那怎么样?