SciPy

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.

Note

Previous to NumPy 1.13.0, neither axis < -a.ndim - 1 nor axis > a.ndim raised errors or put the new axis where documented. Those axis values are now deprecated and will raise an AxisError in the future.

Parameters:
a : array_like

Input array.

axis : int

Position in the expanded axes where the new axis is placed.

Returns:
res : ndarray

View of a with the number of dimensions increased by one.

See also

squeeze
The inverse operation, removing singleton dimensions
reshape
Insert, remove, and combine dimensions, and resize existing ones

doc.indexing, atleast_1d, atleast_2d, atleast_3d

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)
>>> y = np.expand_dims(x, axis=1)  # Equivalent to x[:,np.newaxis]
>>> y
array([[1],
       [2]])
>>> y.shape
(2, 1)

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

>>> np.newaxis is None
True

Previous topic

numpy.broadcast_arrays

Next topic

numpy.squeeze