Как изменить каждую четную последовательность в массиве numpy - PullRequest
0 голосов
/ 23 октября 2019

Я хочу изменить каждые четные два элемента в моем массиве, например:

arr = np.arange(0, 10)
arr

массив ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

mask = np.concatenate(np.split(np.arange(0, 10),5)[::2])   
arr[mask] += 100
arr

массив ([100, 101, 2, 3, 104, 105, 6, 7, 108, 109])

Есть ли простой способ сделать это?

1 Ответ

3 голосов
/ 23 октября 2019

Один путь будет с modulus -

arr[(np.arange(len(arr))//2)%2==0] += 100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...