Python numpy.roll()
Python numpy.roll()函数沿指定的axis滚动数组元素。基本上就是输入数组的元素被移动了。如果一个元素被先滚到最后一个位置,它将被回滚到第一个位置。
语法 :
numpy.roll(array, shift, axis = None)
参数 :
array : [array_like] 输入数组,我们要对其元素进行滚动。 shift : [int or int_tuple]我们需要转移数组元素的次数。
如果是一个元组,那么轴必须是相同大小的元组,并且每个给定的轴被移位
被相应的数字移动。
如果是一个int,而axis是一个ints的元组,那么所有给定的轴都使用相同的值。
axis : [array_like]平面,我们希望沿着这个平面滚动数组或移动它的元素。
返回 :
输出滚动数组,其形状与a相同。
# Python Program illustrating
# numpy.roll() method
import numpy as geek
array = geek.arange(12).reshape(3, 4)
print("Original array : \n", array)
# Rolling array; Shifting one place
print("\nRolling with 1 shift : \n", geek.roll(array, 1))
# Rolling array; Shifting five places
print("\nRolling with 5 shift : \n", geek.roll(array, 5))
# Rolling array; Shifting five places with 0th axis
print("\nRolling with 2 shift with 0 axis : \n", geek.roll(array, 2, axis = 0))
输出 :
Original array :
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Rolling with 1 shift :
[[11 0 1 2]
[ 3 4 5 6]
[ 7 8 9 10]]
Rolling with 5 shift :
[[ 7 8 9 10]
[11 0 1 2]
[ 3 4 5 6]]
Rolling with 2 shift with 0 axis :
[[ 4 5 6 7]
[ 8 9 10 11]
[ 0 1 2 3]]