Direkt zum Inhalt

Pandas Werte sortieren: Ein komplettes How-To

Verwende sort_values(), um Zeilen nach Spaltenwerten zu sortieren. Wende sort_index() an, um die Zeilen nach dem Index des DataFrame zu sortieren. Kombiniere beide Methoden, um deine Daten aus verschiedenen Blickwinkeln zu untersuchen.
Aktualisierte 21. Dez. 2024  · 4 Min. Lesezeit

Es ist oft einfacher, interessante Daten in einem DataFrame zu finden, wenn du die Reihenfolge der Zeilen änderst. Du kannst die Zeilen sortieren, indem du einen Spaltennamen an .sort_values() übergibst.

In Fällen, in denen Zeilen denselben Wert haben (das ist häufig der Fall, wenn du nach einer kategorialen Variable sortierst), kannst du die Gleichheit durch Sortieren nach einer anderen Spalte aufheben. Du kannst auf diese Weise nach mehreren Spalten sortieren, indem du eine Liste von Spaltennamen übergibst.

Beispiel für die Sortierung von Pandas-Spalten

Pandas zum Sortieren von Spalten verwenden

Du kannst die Reihenfolge der Zeilen ändern, indem du sie so sortierst, dass die interessantesten Daten ganz oben im DataFrame stehen.

Spalten nach einer einzelnen Variable sortieren

Wenn wir zum Beispiel sort_values() auf die Spalte weight_kg des DataFrame Hunde anwenden, erhalten wir oben den leichtesten Hund, Stella den Chihuahua, und unten den schwersten Hund, Bernie den Bernhardiner.

dogs.sort_values("weight_kg")
      name        breed  color  height_cm  weight_kg date_of_birth
5   Stella    Chihuahua    Tan         18          2    2015-04-20
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
4      Max     Labrador  Black         59         29    2017-01-20
6   Bernie  St. Bernard  White         77         74    2018-02-27

Wenn du das Argument ascending auf False setzt, werden die Daten in umgekehrter Reihenfolge sortiert, also vom schwersten zum leichtesten Hund.

dogs.sort_values("weight_kg", ascending=False)
      name        breed  color  height_cm  weight_kg date_of_birth
6   Bernie  St. Bernard  White         77         74    2018-02-27
4      Max     Labrador  Black         59         29    2017-01-20
0    Bella     Labrador  Brown         56         24    2013-07-01
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
5   Stella    Chihuahua    Tan         18          2    2015-04-20

Spalten nach mehreren Variablen sortieren

Wir können nach mehreren Variablen sortieren, indem wir eine Liste von Spaltennamen an sort_values übergeben. Hier sortieren wir zuerst nach Gewicht und dann nach Größe. Jetzt werden Charlie, Lucy und Bella vom Kleinsten zum Größten geordnet, obwohl sie alle gleich viel wiegen.

dogs.sort_values(["weight_kg", "height_cm"])
      name        breed  color  height_cm  weight_kg date_of_birth
5   Stella    Chihuahua    Tan         18          2    2015-04-20
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
1  Charlie       Poodle  Black         43         24    2016-09-16
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
0    Bella     Labrador  Brown         56         24    2013-07-01
4      Max     Labrador  Black         59         29    2017-01-20
6   Bernie  St. Bernard  White         77         74    2018-02-27

Um die Richtung zu ändern, in der die Werte sortiert werden, übergibst du eine Liste an das aufsteigende Argument, um anzugeben, in welche Richtung die Sortierung für jede Variable erfolgen soll. Jetzt werden Charlie, Lucy und Bella vom Größten zum Kleinsten geordnet.

dogs.sort_values(["weight_kg", "height_cm"], ascending=[True, False])
      name        breed  color  height_cm  weight_kg date_of_birth
5   Stella    Chihuahua    Tan         18          2    2015-04-20
3   Cooper    Schnauzer   Gray         49         17    2011-12-11
0    Bella     Labrador  Brown         56         24    2013-07-01
2     Lucy    Chow Chow  Brown         46         24    2014-08-25
1  Charlie       Poodle  Black         43         24    2016-09-16
4      Max     Labrador  Black         59         29    2017-01-20
6   Bernie  St. Bernard  White         77         74    2018-02-27

Pandas zum Sortieren nach Zeilen verwenden

Manchmal möchtest du Zeilen nicht nach bestimmten Spalten, sondern nach ihren Zeilenbezeichnungen (d. h. dem Index des DataFrame) neu anordnen. Wenn das der Fall ist, kannst du die Methode sort_index() anstelle von sort_values() verwenden. Denke daran, dass sort_index() deine Zeilen standardmäßig in aufsteigender Reihenfolge nach ihrem Index sortiert:

# Sort rows by their index (ascending)
dogs_sorted = dogs.sort_index()
print(dogs_sorted)

Wenn du die Zeilen in absteigender Reihenfolge sortieren willst, gibst du einfach ascending=False an:

# Sort rows by their index (descending)
dogs_sorted_desc = dogs.sort_index(ascending=False)
print(dogs_sorted_desc)

Wenn du einen mehrstufigen (hierarchischen) Index hast, kann sort_index() auch damit umgehen, indem es mehrere Stufen sortiert. Du übergibst einfach eine Liste an die Parameter level oder ascending (so wie wir früher eine Liste für sort_values() übergeben mussten):

# Sort rows by multiple levels of a multi-level index
dogs_sorted_multi = dogs.sort_index(level=[0, 1], ascending=[True, False])
print(dogs_sorted_multi)
 

Pandas Sortierwerte Interaktives Beispiel

Im folgenden Beispiel sortierst du homelessness nach der Anzahl der obdachlosen Personen, von der kleinsten zur größten, und speicherst dies als homelessness_ind. Schließlich druckst du den Kopf des sortierten DataFrames aus.

# Sort homelessness by individuals
homelessness_ind = homelessness.sort_values("individuals")

# Print the top few rows
print(homelessness_ind.head())

Wenn wir den obigen Code ausführen, erhalten wir das folgende Ergebnis:

                region         state  individuals  family_members  state_pop
50            Mountain       Wyoming        434.0           205.0     577601
34  West North Central  North Dakota        467.0            75.0     758080
7       South Atlantic      Delaware        708.0           374.0     965479
39         New England  Rhode Island        747.0           354.0    1058287
45         New England       Vermont        780.0           511.0     624358

Probiere es selbst aus.

Wenn du mehr über das Sortieren und Unterteilen der Daten erfahren möchtest, schau dir dieses Video aus unserem Kurs Datenbearbeitung mit Pandas an.

Dieser Inhalt stammt aus dem DataCamp-Kurs " Datenbearbeitung mit Pandas " von Maggie Matsui und Richie Cotton.

Weiteres Lernen

In diesem Artikel haben wir u.a. gelernt, wann sort_index() vs. sort_values() zu verwenden ist: Verwende sort_values(), wenn du die Zeilen anhand der Spaltenwerte neu anordnen möchtest; verwende sort_index(), wenn du die Zeilen anhand der Zeilenbeschriftungen (dem Index des DataFrame) neu anordnen möchtest.

Wir haben viele weitere nützliche Pandas-Tutorials, damit du weiter lernen kannst, darunter The ultimate Guide to Pandas for Beginners, damit du weiter üben kannst. Wir haben auch andere spezifische Anleitungen für häufige Probleme, z. B. wie man CSV-Daten in Pandas importiert und wie man DataFrames in Pandas verbindet. Vergiss auch nicht, unseren Lernpfad zur Python-Programmierung zu besuchen, um deine Fähigkeiten zu verbessern. 

Themen

Besuche Python-Kurse mit DataCamp

Kurs

Introduction to Python

4 hr
6M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Siehe DetailsRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

See MoreSee More