Pandas: sortieren sie den dataframe nach index und spalte
Sie können die folgende Syntax verwenden, um einen Pandas-DataFrame nach Index und Spalte zu sortieren:
df = df. sort_values (by = [' column_name ', ' index '], ascending = [ False , True ])
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Beispiele: Sortieren Sie den DataFrame nach Index und Spalte
Der folgende Code zeigt, wie ein Pandas-DataFrame nach der Spalte mit dem Namen „ points“ und dann nach der Indexspalte sortiert wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' id ': [1, 2, 3, 4, 5, 6, 7, 8], ' points ': [25, 15, 15, 14, 20, 20, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}). set_index (' id ') #view first few rows df. head () points assists rebounds id 1 25 5 11 2 15 7 8 3 15 7 10 4 14 9 6 5 20 12 6 #sort by points and then by index df. sort_values (by = [' points ', ' id '], ascending = [ False , True ]) points assists rebounds id 8 29 4 12 1 25 5 11 7 25 9 9 5 20 12 6 6 20 9 5 2 15 7 8 3 15 7 10 4 14 9 6
Der resultierende DataFrame wird nach Punkten in absteigender Reihenfolge und dann nach Index in aufsteigender Reihenfolge sortiert (wenn es zwei Spieler gibt, die die gleiche Anzahl an Punkten erzielen).
Beachten Sie, dass jede Spalte die aufsteigende Reihenfolge als Standardsortiermethode verwendet, wenn wir das Argument aufsteigend nicht verwenden:
#sort by points and then by index df. sort_values (by = [' points ', ' id ']) points assists rebounds id 4 14 9 6 2 15 7 8 3 15 7 10 5 20 12 6 6 20 9 5 1 25 5 11 7 25 9 9 8 29 4 12
Wenn die Indexspalte derzeit unbenannt ist, können Sie sie umbenennen und dann entsprechend sortieren:
#sort by points and then by index df. rename_axis (' index '). sort_values (by = [' points ', ' id ']) points assists rebounds id 4 14 9 6 2 15 7 8 3 15 7 10 5 20 12 6 6 20 9 5 1 25 5 11 7 25 9 9 8 29 4 12
Zusätzliche Ressourcen
Pandas: So sortieren Sie Spalten nach Namen
Pandas: Sortieren Sie den DataFrame nach Datum
Pandas: So entfernen Sie doppelte Zeilen