Python 如何在numpy中进行循环移位
例如,我有一个numpy数组Python 如何在numpy中进行循环移位,python,arrays,numpy,shift,Python,Arrays,Numpy,Shift,例如,我有一个numpy数组 a = np.arange(10) 如何将第一个n元素移动到数组的末尾 我找到了这个函数,但它似乎只起相反的作用,将最后的n元素移到开头。为什么不用负数滚动 >>> import numpy as np >>> a = np.arange(10) >>> np.roll(a,2) array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7]) >>> np.roll(a,-2) a
a = np.arange(10)
如何将第一个n
元素移动到数组的末尾
我找到了这个函数,但它似乎只起相反的作用,将最后的
n
元素移到开头。为什么不用负数滚动
>>> import numpy as np
>>> a = np.arange(10)
>>> np.roll(a,2)
array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7])
>>> np.roll(a,-2)
array([2, 3, 4, 5, 6, 7, 8, 9, 0, 1])
你可以使用负移位
a = np.arange(10)
print(np.roll(a, 3))
print(np.roll(a, -3))
返回
[7,8,9,0,1,2,3,4,5,6]
[3,4,5,6,7,8,9,0,1,2]
roll
不正是你想要的吗?将最后一个len(a)-n
元素移到开头,而不是将第一个n
元素移到末尾?发布一些您想要的与正在查找的内容的数据。您能告诉我,为什么circshift(eye(m),2)和numpy.roll(numpy.eye(m),-2))产生不同的结果吗?1.)circshift是什么?2) 评论:这不是一个正确的提问的地方question@FrancescoMontesanoCirchShift
是一个。我不懂Matlab。我的猜测是:从0到1的索引;列-相对于行的第一顺序。。。