说我有一个numpy数组:
>>> a
array([0,1,2,3,4])
我希望“旋转”它以获得:
>>> b
array([4,0,1,2,3])
最好的方法是什么?
我一直在转变为一个双端队列(见下文)但是有更好的方法吗?
b = deque(a)
b.rotate(1)
b = np.array(b)
答案 0 :(得分:9)
只需使用numpy.roll
功能:
a = np.array([0,1,2,3,4])
b = np.roll(a,1)
print(b)
>>> [4 0 1 2 3]
答案 1 :(得分:2)
numpy.concatenate([a[-1:], a[:-1]])
>>> array([4, 0, 1, 2, 3])
答案 2 :(得分:1)
试试这个
b = a[-1:]+a[:-1]