Wie gruppiere und sortiere ich Daten in bestimmten Spalten in einem DataFrame?

Barbara Streisand
Freigeben: 2024-10-20 17:20:02
Original
242 Leute haben es durchsucht

How to Group and Sort Data within Specific Columns in a DataFrame?

Pandas Groupby und Sortieren innerhalb von Gruppen

Das Gruppieren eines DataFrame nach mehreren Spalten ist eine häufige Aufgabe bei der Datenbearbeitung. Es ermöglicht uns, Daten nach diesen Spalten zu aggregieren und weitere Operationen an den aggregierten Ergebnissen durchzuführen. Allerdings ist es oft notwendig, die aggregierten Ergebnisse innerhalb jeder Gruppe zu sortieren, um die oberen oder unteren Zeilen zu erhalten.

Beachten Sie den in der Frage bereitgestellten DataFrame df:

   count     job source
0      2   sales      A
1      4   sales      B
2      6   sales      C
3      3   sales      D
4      7   sales      E
5      5  market      A
6      3  market      B
7      2  market      C
8      4  market      D
9      1  market      E
Nach dem Login kopieren

Das Ziel ist Gruppieren Sie df nach Job- und Quellspalten und sortieren Sie dann die Spalte „Anzahl“ in absteigender Reihenfolge innerhalb jeder der Gruppen. Um dies zu erreichen, können wir die Funktionen groupby() und sort_values() wie folgt verwenden:

<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False)</code>
Nach dem Login kopieren

Dadurch wird die Spalte „count“ innerhalb jeder Gruppe in absteigender Reihenfolge sortiert und die folgende Ausgabe bereitgestellt:

job    source       
sales  E           7
       C           6
       B           4
       D           3
       A           2
market A           5
       D           4
       B           3
       C           2
       E           1
Nach dem Login kopieren

Wenn wir jedoch nur die obersten drei Zeilen innerhalb jeder Gruppe erhalten möchten, können wir die Funktion head() verwenden:

<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False).groupby('job').head(3)</code>
Nach dem Login kopieren

Dies wird uns das folgende Ergebnis liefern:

   count     job source
4      7   sales      E
2      6   sales      C
1      4   sales      B
5      5  market      A
8      4  market      D
6      3  market      B
Nach dem Login kopieren

Durch die Kombination der Funktionen groupby(), sort_values() und head() können wir die oberen oder unteren Zeilen innerhalb jeder Gruppe in Pandas effektiv gruppieren, sortieren und auswählen.

Das obige ist der detaillierte Inhalt vonWie gruppiere und sortiere ich Daten in bestimmten Spalten in einem DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage