在NumPy数组中移动所有索引

11 投票
2 回答
9001 浏览
提问于 2025-04-16 16:49

我有一个这样的numpy数组:

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

我想创建一个新的数组,让原数组中索引为0的值放到新数组的索引1中,索引为1的值放到新数组的索引2中,以此类推。

我想要的输出是:

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

我在想,应该有简单的方法可以做到这一点,而不需要逐个遍历整个数组。请问我该如何用更“Pythonic”的方式来实现呢?

2 个回答

3

如果你想要在原地进行这个操作,你也可以这样做:

x[1:] = x[:-1]
x[0] = 0
17

你可以使用

y = numpy.roll(x, 1)
y[0] = 0

或者

y = numpy.r_[0, x[:-1]]

撰写回答