numpy.roll

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.roll.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.roll(a, shift, axis=None)[source]

沿给定轴滚动数组元素。

滚动超过最后位置的元素在第一个重新介绍。

参数:

a:array_like

输入数组。

shift:int

元素移动的位置数。

axis:int,可选

元素移动的轴。默认情况下,数组在移位前展平,之后将恢复原始形状。

返回:

res:ndarray

输出数组,形状与a相同。

也可以看看

rollaxis
向后滚动指定的轴,直到它位于给定位置。

例子

>>> x = np.arange(10)
>>> np.roll(x, 2)
array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7])
>>> 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, 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]])