Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich einen Pandas-DataFrame nach mehreren Spalten?

Wie sortiere ich einen Pandas-DataFrame nach mehreren Spalten?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 17:08:13150Durchsuche

How Do I Sort a Pandas DataFrame by Multiple Columns?

Mehrspaltiges Sortieren in Pandas

Das Sortieren eines Pandas-DataFrames basierend auf mehreren Spalten ist eine häufige Aufgabe. In diesem Artikel wird erläutert, wie Sie eine mehrspaltige Sortierung mit der Methode sort() durchführen, die in neueren Versionen von Pandas zugunsten von sort_values() veraltet ist.

Methode sort_values():

Ab Pandas 0.17.0 wird die Methode sort_values() für die mehrspaltige Sortierung empfohlen. Seine Syntax ist:

df.sort_values(by=['column_1', 'column_2'], ascending=[True, False])

wobei:

  • nach die zu sortierenden Spalten angibt.
  • aufsteigend die Sortierreihenfolge für jede Spalte angibt (True für aufsteigend, Falsch für absteigend)

Für Beispiel:

Um einen DataFrame df nach Spalte „b“ in aufsteigender Reihenfolge und Spalte „c“ in absteigender Reihenfolge zu sortieren, können Sie Folgendes verwenden:

df = df.sort_values(['b', 'c'], ascending=[True, False])

sort ()-Methode (veraltet):

Für Pandas-Versionen vor 0.20.0 können Sie weiterhin die Methode sort() mit verwenden aufsteigendes Argument:

df.sort(['a', 'b'], ascending=[True, False])

Es ist jedoch wichtig zu beachten, dass die Methode sort() standardmäßig nicht vorhanden ist. Daher sollten Sie das Ergebnis der Sortieroperation einem neuen DataFrame zuweisen oder inplace=True verwenden, um den ursprünglichen DataFrame durch die sortierte Version zu ersetzen:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

oder

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)

Das obige ist der detaillierte Inhalt vonWie sortiere ich einen Pandas-DataFrame nach mehreren Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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