# numpy.rollaxis¶

`numpy.``rollaxis`(a, axis, start=0)[source]

Roll the specified axis backwards, until it lies in a given position.

This function continues to be supported for backward compatibility, but you should prefer `moveaxis`. The `moveaxis` function was added in NumPy 1.11.

Parameters
andarray

Input array.

axisint

The axis to be rolled. The positions of the other axes do not change relative to one another.

startint, optional

When `start <= axis`, the axis is rolled back until it lies in this position. When `start > axis`, the axis is rolled until it lies before this position. The default, 0, results in a “complete” roll. The following table describes how negative values of `start` are interpreted:

`start`

Normalized `start`

`-(arr.ndim+1)`

raise `AxisError`

`-arr.ndim`

0

`-1`

`arr.ndim-1`

`0`

`0`

`arr.ndim`

`arr.ndim`

`arr.ndim + 1`

raise `AxisError`

Returns
resndarray

For NumPy >= 1.10.0 a view of a is always returned. For earlier NumPy versions a view of a is returned only if the order of the axes is changed, otherwise the input array is returned.

`moveaxis`

Move array axes to new positions.

`roll`

Roll the elements of an array by a number of positions along a given axis.

Examples

```>>> a = np.ones((3,4,5,6))
>>> np.rollaxis(a, 3, 1).shape
(3, 6, 4, 5)
>>> np.rollaxis(a, 2).shape
(5, 3, 4, 6)
>>> np.rollaxis(a, 1, 4).shape
(3, 5, 6, 4)
```