numpy.squeeze

# numpy.expand_dims¶

`numpy.``expand_dims`(a, axis)[source]

Expand the shape of an array.

Insert a new axis that will appear at the axis position in the expanded array shape.

Parameters
aarray_like

Input array.

axisint or tuple of ints

Position in the expanded axes where the new axis (or axes) is placed.

Deprecated since version 1.13.0: Passing an axis where `axis > a.ndim` will be treated as `axis == a.ndim`, and passing `axis < -a.ndim - 1` will be treated as `axis == 0`. This behavior is deprecated.

Changed in version 1.18.0: A tuple of axes is now supported. Out of range axes as described above are now forbidden and raise an `AxisError`.

Returns
resultndarray

View of a with the number of dimensions increased.

`squeeze`

The inverse operation, removing singleton dimensions

`reshape`

Insert, remove, and combine dimensions, and resize existing ones

Examples

```>>> x = np.array([1, 2])
>>> x.shape
(2,)
```

The following is equivalent to `x[np.newaxis, :]` or `x[np.newaxis]`:

```>>> y = np.expand_dims(x, axis=0)
>>> y
array([[1, 2]])
>>> y.shape
(1, 2)
```

The following is equivalent to `x[:, np.newaxis]`:

```>>> y = np.expand_dims(x, axis=1)
>>> y
array([,
])
>>> y.shape
(2, 1)
```

`axis` may also be a tuple:

```>>> y = np.expand_dims(x, axis=(0, 1))
>>> y
array([[[1, 2]]])
```
```>>> y = np.expand_dims(x, axis=(2, 0))
>>> y
array([[,
]])
```

Note that some examples may use `None` instead of `np.newaxis`. These are the same objects:

```>>> np.newaxis is None
True
```