Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich einen Pandas-DataFrame nach mehreren Spalten in aufsteigender und absteigender Reihenfolge?
Sortieren eines Pandas-Datenrahmens nach mehreren Spalten
Das Sortieren eines Pandas-Datenrahmens nach mehreren Spalten ist ein häufiger Vorgang in der Datenanalyse. Betrachten Sie einen Datenrahmen mit den Spalten „a“, „b“ und „c“. Um diesen Datenrahmen nach Spalte „b“ in aufsteigender Reihenfolge und Spalte „c“ in absteigender Reihenfolge zu sortieren, führen Sie die folgenden Schritte aus:
Ab Pandas-Version 0.17.0 ist die Sortiermethode zugunsten von sort_values veraltet. Ab Version 0.20.0 wurde die Sortierung vollständig entfernt. Die Argumente und Ergebnisse bleiben jedoch unverändert:
df.sort_values(['a', 'b'], ascending=[True, False])
Eine äquivalente Möglichkeit zur Verwendung der veralteten Sortiermethode ist:
df.sort(['a', 'b'], ascending=[True, False])
Betrachten Sie beispielsweise einen Datenrahmen df1 mit zufälligen Ganzzahlwerten in Spalten 'a' und 'b':
import pandas as pd import numpy as np df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])
Sortieren dieses Datenrahmens nach „a“ in aufsteigender Reihenfolge und „b“ in absteigender Reihenfolge ergibt:
df1.sort(['a', 'b'], ascending=[True, False])
a b 2 1 4 7 1 3 1 1 2 3 1 2 4 3 2 6 4 4 0 4 3 9 4 3 5 4 1 8 4 1
Bedenken Sie, dass die Sortiermethode standardmäßig nicht vorhanden ist. Um df1 mit den sortierten Werten zu aktualisieren, weisen Sie das Ergebnis der Sortiermethode df1 zu oder verwenden Sie inplace=True im Methodenaufruf:
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 in aufsteigender und absteigender Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!