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 listindice di colonna per ogni riga che chiamerei Y:
[1, 0, 2]
Ho bisogno di ottenere i valori:
[2]
[4]
[9]
Invece di una listcon indici Y, posso anche produrre una matrice con la stessa forma di Xdove ogni colonna è un bool/ intnell'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?