Sto lottando per selezionare le colonne specifiche per riga di una matrice NumPy.
Supponiamo di avere la seguente matrice che chiamerei X
:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Ho anche un list
indice di colonna per ogni riga che chiamerei Y
:
[1, 0, 2]
Ho bisogno di ottenere i valori:
[2]
[4]
[9]
Invece di una list
con indici Y
, posso anche produrre una matrice con la stessa forma di X
dove ogni colonna è un bool
/ int
nell'intervallo 0-1 valore, indicando se questa è la colonna richiesta.
[0, 1, 0]
[1, 0, 0]
[0, 0, 1]
So che questo può essere fatto iterando sull'array e selezionando i valori di colonna di cui ho bisogno. Tuttavia, questo verrà eseguito frequentemente su grandi array di dati ed è per questo che deve essere eseguito il più velocemente possibile.
Mi chiedevo quindi se esiste una soluzione migliore?