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
Freigeben: 2024-11-28 06:57:10
Original
452 Leute haben es durchsucht

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'])
Nach dem Login kopieren

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}
Nach dem Login kopieren

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"])
Nach dem Login kopieren

Abschließend wird der DataFrame nach der Spalte „m“ sortiert Folgen Sie nun der im Wörterbuch definierten benutzerdefinierten Reihenfolge:

df.sort_values("m")
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage