In Pandas So sortieren Sie eine Ebene eines Multi-Index basierend auf den Werten einer Spalte, während Sie die Gruppierung der anderen Ebene beibehalten

Ich mache gerade einen Data Mining-Kurs an der Universität, aber ich bin ein bisschen festgefahren bei einem Problem mit der Sortierung mehrerer Indizes.

Bei den tatsächlichen Daten handelt es sich um etwa 1 Million Bewertungen von Filmen, und ich versuche, diese anhand der amerikanischen Postleitzahlen zu analysieren. Um zu testen, wie ich vorgehen soll, habe ich einen viel kleineren Datensatz von 250 zufällig generierten verwendet Bewertungen für 10 Filme und anstelle von Postleitzahlen verwende ich Altersgruppen.

Das ist also, was ich gerade habe, es ist ein multiindexierter DataFrame in Pandas mit zwei Ebenen, 'group' und 'title'.

                        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
            ...         ...

Mein Ziel ist es, die Titel nach ihrer Bewertung in der Gruppe zu sortieren (und nur die beliebtesten 5 oder so Titel in jeder Gruppe anzuzeigen).

So etwas in der Art (aber ich werde nur zwei Titel in jeder Gruppe zeigen):

                        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

Weiß jemand, wie das geht? Ich habe sort_order, sort_index usw. ausprobiert und die Ebenen vertauscht, aber sie vertauschen auch die Gruppen. So sieht es dann aus:

                          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

Ich suche so etwas:Multi-Index-Sortierung in Pandas, aber anstatt nach einer anderen Ebene zu sortieren, möchte ich nach den Werten sortieren. Irgendwie, wenn diese Person nach ihrer Verkaufskolumne sortieren wollte.

Vielen Dank!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage