mxnet.np.roll¶
-
roll
(a, shift, axis=None)¶ Roll array elements along a given axis.
Elements that roll beyond the last position are re-introduced at the first.
- Parameters
a (ndarray) – Input array.
shift (int or tuple of ints) – The number of places by which elements are shifted. If a tuple, then axis must be a tuple of the same size, and each of the given axes is shifted by the corresponding number. If an int while axis is a tuple of ints, then the same value is used for all given axes.
axis (int or tuple of ints, optional) – Axis or axes along which elements are shifted. By default, the array is flattened before shifting, after which the original shape is restored.
- Returns
res – Output array, with the same shape as a.
- Return type
ndarray
Notes
Supports rolling over multiple dimensions simultaneously.
Examples
>>> x = np.arange(10) >>> np.roll(x, 2) array([8., 9., 0., 1., 2., 3., 4., 5., 6., 7.]) >>> np.roll(x, -2) array([2., 3., 4., 5., 6., 7., 8., 9., 0., 1.])
>>> x2 = np.reshape(x, (2,5)) >>> x2 array([[0., 1., 2., 3., 4.], [5., 6., 7., 8., 9.]]) >>> np.roll(x2, 1) array([[9., 0., 1., 2., 3.], [4., 5., 6., 7., 8.]]) >>> np.roll(x2, -1) array([[1., 2., 3., 4., 5.], [6., 7., 8., 9., 0.]]) >>> np.roll(x2, 1, axis=0) array([[5., 6., 7., 8., 9.], [0., 1., 2., 3., 4.]]) >>> np.roll(x2, -1, axis=0) array([[5., 6., 7., 8., 9.], [0., 1., 2., 3., 4.]]) >>> np.roll(x2, 1, axis=1) array([[4., 0., 1., 2., 3.], [9., 5., 6., 7., 8.]]) >>> np.roll(x2, -1, axis=1) array([[1., 2., 3., 4., 0.], [6., 7., 8., 9., 5.]])
Did this page help you?
Yes
No
Thanks for your feedback!