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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert