Сместить все индексы в массиве NumPy - PullRequest
8 голосов
/ 02 мая 2011

У меня есть такой массив:

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

, и я хочу создать массив, в котором значение в индексе 0 находится в индексе 1, индекс 1 в индексе 2 и т. Д.

Вывод, который я хочу получить:

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

Я предполагаю, что есть простой способ сделать это без перебора полного массива.Как я могу сделать это numPythonic способом?

Ответы [ 2 ]

14 голосов
/ 02 мая 2011

Вы можете использовать

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

или

y = numpy.r_[0, x[:-1]]
1 голос
/ 21 мая 2016

Если вы хотите сделать это на месте, вы также можете сделать:

x[1:] = x[:-1]
x[0] = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...