Come sostituire i valori da un array numpy con un altro array con indici
Oct 08 2020
Ho due array e un elenco con indici
Sorgente array (array 01):
x = np.array([[1,2,3], [4,5,6], [7,8,9]])
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Array con nuovi valori (array 02):
y = np.array([11, 22, 33])
array([11, 22, 33])
e una lista con indici
a = [1,2,1]
[1, 2, 1]
Devo sostituire i valori dell'array 02 nell'array 01 in base agli indici
Il ritorno previsto:
array([[1, 11, 3],
[4, 5, 22],
[7, 33, 9]])
Come farlo senza loop?
Grazie in anticipo.
Risposte
1 mathfux Oct 08 2020 at 05:26
Prova l'indicizzazione avanzata :
x[np.arange(len(x)), a] = y
Ho trovato anche questo tutorial più facile per me rispetto alla documentazione ufficiale.