转移NumPy数组中的所有索引

Idr*_*Idr 8 python numpy

我有一个像这样的numpy数组:

x=np.array([0,1,2,3,4])
Run Code Online (Sandbox Code Playgroud)

并且想要创建一个数组,其中索引0中的值在索引1中,索引1在索引2中,等等.

我想要的输出是:

y=np.array([0,0,1,2,3]).
Run Code Online (Sandbox Code Playgroud)

我猜测有一种简单的方法可以做到这一点,而无需遍历整个数组.我怎么能以numPythonic的方式做到这一点?

Sve*_*ach 14

您可以使用

y = numpy.roll(x, 1)
y[0] = 0
Run Code Online (Sandbox Code Playgroud)

要么

y = numpy.r_[0, x[:-1]]
Run Code Online (Sandbox Code Playgroud)