dpnp.expand_dims

dpnp.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.

For full documentation refer to numpy.expand_dims.

Parameters:
  • a ({dpnp.ndarray, usm_ndarray}) -- Input array.

  • axis (int or tuple of ints) -- Position in the expanded axes where the new axis (or axes) is placed.

Returns:

out -- An array with the number of dimensions increased. A view is returned whenever possible.

Return type:

dpnp.ndarray

Notes

If a has rank (i.e, number of dimensions) N, a valid axis must reside in the closed-interval [-N-1, N]. If provided a negative axis, the axis position at which to insert a singleton dimension is computed as N + axis + 1. Hence, if provided -1, the resolved axis position is N (i.e., a singleton dimension must be appended to the input array a). If provided -N-1, the resolved axis position is 0 (i.e., a singleton dimension is added to the input array a).

See also

dpnp.squeeze

The inverse operation, removing singleton dimensions

dpnp.reshape

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

dpnp.atleast_1d

Convert inputs to arrays with at least one dimension.

dpnp.atleast_2d

View inputs as arrays with at least two dimensions.

dpnp.atleast_3d

View inputs as arrays with at least three dimensions.

Examples

>>> import dpnp as np
>>> 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([[1],
       [2]])
>>> 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([[[1],
        [2]]])

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

>>> np.newaxis is None
True