将NumPy数组中的所有索引向移位

11

我有一个如下的NumPy数组:

x=np.array([0,1,2,3,4])

我想创建一个数组,其中索引0的值在索引1中,索引1的值在索引2中,以此类推。

我想要的输出是:

y=np.array([0,0,1,2,3]).

我猜应该有一种不需要遍历整个数组的简单方法。如何以Pythonic的方式实现?

2个回答

17
你可以使用
y = numpy.roll(x, 1)
y[0] = 0
或者
y = numpy.r_[0, x[:-1]]

3
如果您想原地完成这个操作,您也可以这样做:
x[1:] = x[:-1]
x[0] = 0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接