Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Pandas-DataFrame-Spalte basierend auf einer in einem Wörterbuch definierten benutzerdefinierten Reihenfolge sortieren?

Wie kann ich eine Pandas-DataFrame-Spalte basierend auf einer in einem Wörterbuch definierten benutzerdefinierten Reihenfolge sortieren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-28 06:57:10461Durchsuche

How Can I Sort a Pandas DataFrame Column Based on a Custom Order Defined in a Dictionary?

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!

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