numpy.packbits()
is another function for doing binary operations in numpy.It is used to 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.
Syntax : numpy.packbits(arr, axis=None)
Parameters :
arr : [array_like] An array of integers or booleans whose elements should be packed to bits.
axis : [ int, optional] The dimension over which bit-packing is done.If none then packing is done in flattened array.Return : [packed ndarray] Array of type uint8 whose elements represent bits corresponding to the logical (0 or nonzero) value of the input elements.
Code #1 :
# Python program explaining # numpy.packbits() function # importing numpy import numpy as geek # creating input array using # array function in_arr = geek.array([[[ 1 , 0 , 1 ], [ 0 , 1 , 0 ]], [[ 1 , 1 , 0 ], [ 0 , 0 , 1 ]]]) print ( "Input array : " , in_arr) # packing elements of an array # using packbits() function out_arr = geek.packbits(in_arr) print ( "Output packed array : " , out_arr) |
Input array : [[[1 0 1] [0 1 0]] [[1 1 0] [0 0 1]]] Output packed array : [171 16]
Code #2 :
# Python program explaining # numpy.packbits() function # importing numpy import numpy as geek # creating input array using # array function in_arr = geek.array([[[ 0 , 0 , 1 ], [ 1 , 1 , 0 ]], [[ 1 , 0 , 0 ], [ 1 , 1 , 1 ]]]) print ( "Input array : " , in_arr) # packing elements of an array # using packbits() function out_arr = geek.packbits(in_arr, axis = 1 ) print ( "Output packed array along axis 1 : " , out_arr) |
Input array : [[[0 0 1] [1 1 0]] [[1 0 0] [1 1 1]]] Output packed array along axis 1 : [[[ 64 64 128]] [[192 64 64]]]