Quiero cambiar cada dos elementos en mi matriz, por ejemplo:

arr = np.arange(0, 10)
arr

matriz ([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

matriz ([100, 101, 2, 3, 104, 105, 6, 7, 108, 109])

¿Hay una manera simple de hacerlo?

0
Manualmsdos 23 oct. 2019 a las 14:12

1 respuesta

La mejor respuesta

Una forma sería con modulus -

arr[(np.arange(len(arr))//2)%2==0] += 100
3
Divakar 23 oct. 2019 a las 11:15