Wie gruppiere und sortiere ich Pandas-Datenrahmen nach zwei Spalten und nehme die obersten Zeilen innerhalb von Gruppen?

DDD
Freigeben: 2024-10-20 17:20:29
Original
715 Leute haben es durchsucht

How to Group and Sort Pandas Dataframe by Two Columns and Take Top Rows Within Groups?

Pandas gruppieren und innerhalb von Gruppen sortieren

Bei dieser Frage geht es darum, wie man einen Pandas-Datenrahmen nach zwei Spalten gruppiert und dann die aggregierten Ergebnisse innerhalb dieser Gruppen sortiert. Die gewünschte Ausgabe besteht darin, nur die oberen drei Zeilen jeder Gruppe zu übernehmen.

Eine Möglichkeit, dies zu tun, besteht darin, den Datenrahmen nach den gewünschten Spalten zu sortieren, zu gruppieren und dann den Kopf jeder Gruppe zu übernehmen. Der Code hierfür lautet:

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

Dies erzeugt die folgende Ausgabe:

   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

Das obige ist der detaillierte Inhalt vonWie gruppiere und sortiere ich Pandas-Datenrahmen nach zwei Spalten und nehme die obersten Zeilen innerhalb von Gruppen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!