Funkcja argsort()
zwraca macierz indeksów, które mogą być używane do indeksowania oryginalnej tablicy, aby wynik był zgodny z wynikiem sort()
.numpy: zastosowanie argsort do tablicy
Czy istnieje sposób na zastosowanie tych wskaźników? Mam dwie tablice, jedna to tablica używana do uzyskania kolejności sortowania, a druga to niektóre powiązane dane.
Chciałbym obliczyć assoc_data[array1.argsort()]
, ale to nie wydaje się działać.
Oto przykład:
z=array([1,2,3,4,5,6,7])
z2=array([z,z*z-7])
i=z2.argsort()
z2=array([[ 1, 2, 3, 4, 5, 6, 7],
[-6, -3, 2, 9, 18, 29, 42]])
i =array([[1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1]])
Chciałbym zastosować ja do Z2 (lub innego powiązanego z tablicą danych), ale nie jestem pewien, jak to zrobić.
Którą oś chcesz posortować? – user545424