Sto cercando una soluzione a una riga che possa aiutarmi a fare quanto segue.Numpy: riorganizzare l'array in base all'array dell'indice
Supponiamo che io sono
array = np.array([10, 20, 30, 40, 50])
mi piacerebbe riorganizzare esso sulla base di un ordine di ingresso. Se ci fosse una funzione NumPy chiamato arrange
, sarebbe effettuare le seguenti operazioni:
newarray = np.arrange(array, [1, 0, 3, 4, 2])
print newarray
[20, 10, 40, 50, 30]
Formalmente, se la matrice da riordinare è mxn, e il "index" array è 1 xn, l'ordine sarebbe determinata dalla array chiamato "index".
Il numpy ha una funzione come questa?
Grazie! Cosa succede se l '"indice" è array 2d? Per esempio voglio girare '[[1,2], [" a "," b "]' in '[[2,1], [" a "," b "]]' usando l'indice '[ [1,0], [0,1]] '. So che un brutto modo di fare è usare il ciclo per riorganizzare ogni riga dell'array usando la riga corrispondente dell'array indice. Ma deve esserci un modo più veloce. – Skywalker326