Szukam rozwiązania jednoliniowego, które pomogłoby mi wykonać następujące czynności.Numpy: Ponowne rozmieszczanie tablicy na podstawie tablicy indeksów
Załóżmy, że mam
array = np.array([10, 20, 30, 40, 50])
chciałbym zmienić go w oparciu o kolejności wprowadzania. Gdyby nie było to funkcja numpy nazywa arrange
, to należy wykonać następujące czynności:
newarray = np.arrange(array, [1, 0, 3, 4, 2])
print newarray
[20, 10, 40, 50, 30]
Formalnie, jeśli tablica zostać zreorganizowane jest MXN, a „indeks” tablica jest 1 xn, kolejność będzie ustalana przez tablica o nazwie "indeks".
Czy numpy ma taką funkcję?
Dzięki! Co jeśli "indeks" to tablica 2d? Na przykład chcę zmienić '[[1,2], [" a "," b "]' na '[[2,1], [" a "," b "]]' przy użyciu indeksu '[ [1,0], [0,1]] ". Wiem, że brzydkim sposobem jest użycie for-loop do ponownego rozmieszczenia każdego wiersza tablicy przy użyciu odpowiedniego rzędu tablicy indeksów. Ale musi być szybszy sposób. – Skywalker326