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 asaxis == a.ndim
, and passingaxis < -a.ndim - 1
will be treated asaxis == 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.
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, :]
orx[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 ofnp.newaxis
. These are the same objects:>>> np.newaxis is None True