# NumPy squeeze()

The `squeeze()` method removes the dimensions of an array with size 1.

### Example

``````import numpy as np

# create a 3-D array
array1 = np.array([[[0, 1]]])

# squeeze the array
squeezedArray = np.squeeze(array1)

print(squeezedArray)

# Output : [0 1]``````

Here, array1 is a 3-D array with two singleton dimensions (dimensions with size 1). Hence, the two singleton dimensions are removed, and array1 with three dimensions is squeezed to one dimension.

## squeeze() Syntax

The syntax of `squeeze()` is:

``numpy.squeeze(array, axis = None)``

## squeeze() Arguments

The `squeeze()` method takes two arguments:

• `array` - array to squeeze
• `axis`(optional) - axis along which array is squeezed (`None`, `int,` or `tuple`)

## squeeze() Return Value

The `squeeze()` method returns the squeezed array.

## Example 1: Squeeze an Array With a Single-Dimensional Entry

``````import numpy as np

array1 = np.array([[[1, 2, 3]]])

# squeeze the array
squeezedArray = np.squeeze(array1)

print(squeezedArray)``````

Output

`[1 2 3]`

## Example 2: Squeeze an Array With Multiple Single-Dimensional Entries

``````import numpy as np

array1 = np.array([[1], [2], [3]])

# squeeze the array
squeezedArray = np.squeeze(array1)

print(squeezedArray)``````

Output

`[1 2 3]`

## Example 3: Squeeze Along Specific Axis

If we don't pass an `axis` argument, it defaults to `None`, and all dimensions of length are removed.

However, we can specify specific axes to be squeezed.

``````import numpy as np
array1 = np.array([[[1], [2], [3]]])

print('Original Array: \n', array1, "\nShape: ",array1.shape, '\n')

# squeeze array1
array2 = np.squeeze(array1)

print('Squeezed Array: \n', array2, "\nShape: ",array2.shape, '\n')

# squeeze array1 along axis 0
array3 = np.squeeze(array1, axis = 0)

print('Squeezed Array along axis 0: \n', array3, "\nShape: ",array3.shape, '\n')

# squeeze array1 along the last axis
array4 = np.squeeze(array1, axis = -1)

print('Squeezed Array along last axis: \n', array4, "\nShape: ",array4.shape, '\n')

# squeeze array1 along axis 9 and 2
array5 = np.squeeze(array1, axis = (0, 2))

print('Squeezed Array along axis (0, 2): \n', array5, "\nShape: ",array5.shape, '\n')``````

Output

```Original Array:
[[[1]
[2]
[3]]]
Shape:  (1, 3, 1)

Squeezed Array:
[1 2 3]
Shape:  (3,)

Squeezed Array along axis 0:
[[1]
[2]
[3]]
Shape:  (3, 1)

Squeezed Array along last axis:
[[1 2 3]]
Shape:  (1, 3)

Squeezed Array along axis (0, 2):
[1 2 3]
Shape:  (3,) ```

## Example 4: Squeeze With All Dimensions of Length 1

If all dimensions are of length 1, it returns a scalar value.

``````import numpy as np

array1 = np.array([[[123]]])

# squeeze array1
array2 = np.squeeze(array1)

print('Squeezed Array: \n', array2)``````

Output

`123 `

Note: Although 123 is a scalar value, it is still considered an array. For example,

`print(type(array2)) #<class 'numpy.ndarray'>`