Skip to content
Related Articles

Related Articles

numpy.squeeze() in Python
  • Last Updated : 28 Nov, 2018
GeeksforGeeks - Summer Carnival Banner

numpy.squeeze() function is used when we want to remove single-dimensional entries from the shape of an array.

Syntax : numpy.squeeze(arr, axis=None )

Parameters :
arr : [array_like] Input array.
axis : [None or int or tuple of ints, optional] Selects a subset of the single-dimensional entries in the shape. If an axis is selected with shape entry greater than one, an error is raised.

Return :
squeezed [ndarray] The input array, but with all or a subset of the dimensions of length 1 removed. This is always a itself or a view into arr.

Code #1 :






# Python program explaining
# numpy.squeeze function
  
import numpy as geek
  
in_arr = geek.array([[[2, 2, 2], [2, 2, 2]]])
   
print ("Input array : ", in_arr) 
print("Shape of input array : ", in_arr.shape)  
  
out_arr = geek.squeeze(in_arr) 
  
print ("output squeezed array : ", out_arr)
print("Shape of output array : ", out_arr.shape) 

Output :

Input array :  [[[2 2 2]
  [2 2 2]]]
Shape of input array :  (1, 2, 3)
output squeezed array :  [[2 2 2]
 [2 2 2]]
Shape of output array :  (2, 3)

 
Code #2 :




# Python program explaining
# numpy.squeeze function
import numpy as geek
in_arr = geek.arange(9).reshape(1, 3, 3
  
print ("Input array : ", in_arr)  
out_arr = geek.squeeze(in_arr, axis = 0
  
print ("output array : ", out_arr)  
print("The shapes of Input and Output array : "
  
print(in_arr.shape, out_arr.shape)

Output :

Input array :  [[[0 1 2]
  [3 4 5]
  [6 7 8]]]
output array :  [[0 1 2]
 [3 4 5]
 [6 7 8]]
The shapes of Input and Output array : 
(1, 3, 3) (3, 3)

Note :

ValueError :
If axis is not None, and an axis being squeezed is not of length 1.

 
Code #3 :




# Python program explaining
# numpy.squeeze function
# when value error occurs
import numpy as geek
  
in_arr = geek.arange(9).reshape(1, 3, 3
  
print ("Input array : ", in_arr)  
out_arr = geek.squeeze(in_arr, axis = 1
  
print ("output array : ", out_arr)  
print("The shapes of Input and Output array : ")
   
print(in_arr.shape, out_arr.shape)

Output :

ValueError                                Traceback (most recent call last)
 in ()
      5 
      6 print ("Input array : ", in_arr)
----> 7 out_arr = geek.squeeze(in_arr, axis=1)
      8 print ("output array : ", out_arr)
      9 print("The shapes of Input and Output array : ")

~\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py in squeeze(a, axis)
   1196     try:
   1197         # First try to use the new axis= parameter
-> 1198         return squeeze(axis=axis)
   1199     except TypeError:
   1200         # For backwards compatibility

ValueError: cannot select an axis to squeeze out which has size not equal to one

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :