W pandach Jak sortować jeden poziom wielu indeksów w oparciu o wartości kolumny, zachowując grupowanie drugiego poziomu
W tej chwili biorę kurs Data Mining na uniwersytecie, ale jestem trochę utrudniony przy sortowaniu z wieloma indeksami.
Rzeczywiste dane obejmują około 1 miliona recenzji filmów i staram się przeanalizować to na podstawie amerykańskich kodów pocztowych, ale aby przetestować, jak robić to, co chcę, używam znacznie mniejszego zestawu danych 250 losowo wygenerowanych oceny dla 10 filmów i zamiast kodów pocztowych używam grup wiekowych.
To jest to, co mam teraz, to multiindeksowana ramka DataFrame w pandach z dwoma poziomami, „grupa” i „tytuł”
rating
group title
Alien 4.000000
Argo 2.166667
Adults Ben-Hur 3.666667
Gandhi 3.200000
... ...
Alien 3.000000
Argo 3.750000
Coeds Ben-Hur 3.000000
Gandhi 2.833333
... ...
Alien 2.500000
Argo 2.750000
Kids Ben-Hur 3.000000
Gandhi 3.200000
... ...
Celem jest sortowanie tytułów na podstawie ich oceny w grupie (i wyświetlanie tylko najpopularniejszych 5 tytułów w każdej grupie)
Więc coś takiego (ale pokażę tylko dwa tytuły w każdej grupie):
rating
group title
Alien 4.000000
Adults Ben-Hur 3.666667
Argo 3.750000
Coeds Alien 3.000000
Gandhi 3.200000
Kids Ben-Hur 3.000000
Ktoś wie jak to zrobić? Próbowałem sort_order, sort_index itp. I zamieniałem poziomy, ale one także mieszają grupy. Wygląda więc tak:
rating
group title
Adults Alien 4.000000
Coeds Argo 3.750000
Adults Ben-Hur 3.666667
Kids Gandhi 3.666667
Coeds Alien 3.000000
Kids Ben-Hur 3.000000
Szukam czegoś takiego:Multi-Index Sortowanie w pandach, ale zamiast sortowania na innym poziomie, chcę sortować na podstawie wartości. Tak jakby ktoś chciał sortować w oparciu o kolumnę sprzedaży.
Dzięki!