Numpy: Sortowanie tablicy wielowymiarowej przez tablicę wielowymiarową
Wybacz mi, jeśli to jest zbędne lub super podstawowe. Idę do Python / Numpy z R i ciężko mi przerzucać rzeczy w mojej głowie.
Mam tablicę wymiarową n, którą chcę sortować za pomocą innej n-wymiarowej tablicy wartości indeksu. Wiem, że mógłbym zawinąć to w pętlę, ale wygląda na to, że powinien istnieć naprawdę zwięzły Numpyonic sposób bicia tego w poddanie. Oto mój przykładowy kod, aby ustawić problem, gdzie n = 2:
a1 = random.standard_normal(size=[2,5])
index = array([[0,1,2,4,3] , [0,1,2,3,4] ])
więc teraz mam tablicę liczb losowych 2 x 5 i indeks 2 x 5. Przeczytałem pomoctake()
około 10 razy, ale mój mózg oczywiście nie groking to.
Myślałem, że może mnie tam dostać:
take(a1, index)
array([[ 0.29589188, -0.71279375, -0.18154864, -1.12184984, 0.25698875],
[ 0.29589188, -0.71279375, -0.18154864, 0.25698875, -1.12184984]])
ale to wyraźnie zmienia porządek tylko pierwszego elementu (zakładam, że z powodu spłaszczenia).
Wszelkie wskazówki, w jaki sposób uzyskać od gdzie jestem do rozwiązania, które sortuje element 0 a1 przez element 0 indeksu ... element n?