[ Web Proxy ]
URL:
Viewing: https://numpy.org/doc/stable/reference/generated/../random/../generated/numpy.packbits.html [Back]  [Original]

numpy.packbits — NumPy v2.5 Manual
Back to top
Search the docs ...:

numpy.packbits#

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

Packs the elements of a binary-valued array into bits in a uint8 array.

The result is padded to full bytes by inserting zero bits at the end.

Parameters:
aarray_like

An array of integers or booleans whose elements should be packed to bits.

axisint, optional

The dimension over which bit-packing is done. None implies packing the flattened array.

bitorder{big, little}, optional

The order of the input bits. big will mimic bin(val), [0, 0, 0, 0, 0, 0, 1, 1] => 3 = 0b00000011, little will reverse the order so [1, 1, 0, 0, 0, 0, 0, 0] => 3. Defaults to big.

Returns:
packedndarray

Array of type uint8 whose elements represent bits corresponding to the logical (0 or nonzero) value of the input elements. The shape of packed has the same number of dimensions as the input (unless axis is None, in which case the output is 1-D).

See also

unpackbits

Unpacks elements of a uint8 array into a binary-valued output array.

Examples

Try it in your browser!
>>> import numpy as np
>>> 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)

Note that in binary 160 = 1010 0000, 64 = 0100 0000, 192 = 1100 0000, and 32 = 0010 0000.


Web Proxy Viewer  |  New URL  |  Original Page