# NumPy - squeeze() function

The NumPy squeeze() function remove axes of length one from a.

### Syntax

numpy.squeeze(a, axis=None)

### Parameters

 a Required. Specify the input array (array_like). axis Optional. It can be None or int or tuple of ints. Selects a subset of the entries of length one in the shape. If an axis is selected with shape entry greater than one, an error is raised.

### Return Value

Returns the input array, but with all or a subset of the dimensions of length 1 removed.

### Example:

In the example below, squeeze() function is used to remove axes of length one from given array.

import numpy as np

Arr = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]])

#squeezeing the array
Arr1 = np.squeeze(Arr)

#displaying results
print("shape of Arr:", Arr.shape)
print("Arr is:")
print(Arr)

print("\nshape of Arr1:", Arr1.shape)
print("Arr1 is (squeeze with axis=None):")
print(Arr1)

The output of the above code will be:

shape of Arr: (1, 3, 3)
Arr is:
[[[1 2 3]
[4 5 6]
[7 8 9]]]

shape of Arr1: (3, 3)
Arr1 is (squeeze with axis=None):
[[1 2 3]
[4 5 6]
[7 8 9]]

### Example:

An array can not be squeezed on an axis where the shape is greater than one. Consider the example below:

import numpy as np

#creating an array of shape (1, 3, 1)
Arr = np.array([[[1],[2],[3]]])

#An array can not be squeezed at an axis
#where shape is greater than one. For example
#at axis=1, Arr has shape = 3, Hence
#squeezing it at axis=1 will raise exception

#squeezeing Arr at axis=0
Arr1 = np.squeeze(Arr, axis=0)

#squeezeing Arr at axis=2
Arr2 = np.squeeze(Arr, axis=2)

#displaying results
print("shape of Arr:", Arr.shape)
print("Arr is:")
print(Arr)

print("\nshape of Arr1:", Arr1.shape)
print("Arr1 is (squeeze with axis=0):")
print(Arr1)

print("\nshape of Arr2:", Arr2.shape)
print("Arr2 is (squeeze with axis=2):")
print(Arr1)

The output of the above code will be:

shape of Arr: (1, 3, 1)
Arr is:
[[[1]
[2]
[3]]]

shape of Arr1: (3, 1)
Arr1 is (squeeze with axis=0):
[[1]
[2]
[3]]

shape of Arr2: (1, 3)
Arr2 is (squeeze with axis=2):
[[1]
[2]
[3]]

❮ NumPy - Array Manipulation

5