Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Pandas-DataFrame-Spalte basierend auf einer in einem Wörterbuch definierten benutzerdefinierten Reihenfolge sortieren?
Anpassen der DataFrame-Sortierung mit einem Wörterbuch
Bei der Arbeit mit Pandas DataFrames kann es vorkommen, dass Sie Daten anhand benutzerdefinierter Kriterien sortieren müssen . Ein häufiges Szenario ist das Sortieren einer Spalte mit Werten, die Monate darstellen, basierend auf einer vordefinierten Reihenfolge.
Um dies zu erreichen, besteht ein Ansatz darin, die in Pandas 0.15 eingeführte kategoriale Reihe zu verwenden. Indem Sie die Monatsspalte in eine kategoriale Reihe umwandeln und die gewünschte Reihenfolge angeben, können Sie sicherstellen, dass die Sortierung gemäß Ihrer definierten Anordnung erfolgt.
Stellen Sie sich beispielsweise einen DataFrame mit einer Spalte namens „m“ vor, die Monatsnamen enthält:
import pandas as pd df = pd.DataFrame([[1, 2, 'March'],[5, 6, 'Dec'],[3, 4, 'April']], columns=['a','b','m'])
Um die Spalte „m“ in einer benutzerdefinierten Reihenfolge zu sortieren, erstellen Sie ein Wörterbuch mit dem bevorzugten Monat Reihenfolge:
custom_dict = {'March':0, 'April':1, 'Dec':3}
Als nächstes konvertieren Sie die Spalte „m“ in eine kategoriale Reihe und geben die benutzerdefinierte Reihenfolge an:
df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec",], categories=["March", "April", "Dec"])
Abschließend wird der DataFrame nach der Spalte „m“ sortiert Folgen Sie nun der im Wörterbuch definierten benutzerdefinierten Reihenfolge:
df.sort_values("m")
Diese Methode bietet eine klare und bequeme Möglichkeit, Daten basierend auf benutzerdefinierten Kriterien innerhalb eines zu sortieren DataFrame.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Pandas-DataFrame-Spalte basierend auf einer in einem Wörterbuch definierten benutzerdefinierten Reihenfolge sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!