numpy.packbits () in Python

numpy.packbits() — this is another function for doing binary operations in numpy. It is used to pack the elements of a binary array into bits in a uint8 array. The result is padded to full bytes by adding 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 bits represent corresponding to the logical (0 or nonzero) value of the input elements.

Code # 1:

# Python program explaining
# numpy.packbits () function

 
# numpy import  

import numpy as geek

  
# create an 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) 

 
# wrapping array elements
# using the packbits () function

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:

# Python program explaining
# numpy.packbits () function

 
# numpy import

import numpy as geek

 
# create an 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 array elements
# using the packbits () function

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]]] 




Get Solution for free from DataCamp guru