Related Articles
numpy.squeeze() in Python
• Last Updated : 28 Nov, 2018

`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