numpy.packbits() in Python
Last Updated :
20 Feb, 2019
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 :
import numpy as geek
in_arr = geek.array([[[ 1 , 0 , 1 ],
[ 0 , 1 , 0 ]],
[[ 1 , 1 , 0 ],
[ 0 , 0 , 1 ]]])
print ( "Input array : " , in_arr)
out_arr = geek.packbits(in_arr)
print ( "Output packed array : " , out_arr)
|
Output :
Input array :
[[[1 0 1]
[0 1 0]]
[[1 1 0]
[0 0 1]]]
Output packed array : [171 16]
Code #2 :
import numpy as geek
in_arr = geek.array([[[ 0 , 0 , 1 ],
[ 1 , 1 , 0 ]],
[[ 1 , 0 , 0 ],
[ 1 , 1 , 1 ]]])
print ( "Input array : " , in_arr)
out_arr = geek.packbits(in_arr, axis = 1 )
print ( "Output packed array along axis 1 : " , out_arr)
|
Output :
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]]]
Share your thoughts in the comments
Please Login to comment...