Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine benutzerdefinierte Sortierung von Pandas DataFrame-Spalten mithilfe eines Wörterbuchs durchführen?

Wie kann ich eine benutzerdefinierte Sortierung von Pandas DataFrame-Spalten mithilfe eines Wörterbuchs durchführen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-27 12:22:10370Durchsuche

How Can I Perform Custom Sorting of Pandas DataFrame Columns Using a Dictionary?

Benutzerdefinierte Sortierung in Pandas DataFrame

Benutzerdefinierte Sortierung in Pandas ermöglicht es Ihnen, die Zeilen eines DataFrame basierend auf einer bestimmten Reihenfolge oder einem bestimmten Kriterium neu anzuordnen. Wenn ein DataFrame eine Spalte mit Werten enthält, die gemäß einer benutzerdefinierten Zuordnung sortiert werden müssen, z. B. die Konvertierung von Monatsnamen in numerische Indizes, können Sie benutzerdefinierte Sortiertechniken von Pandas nutzen.

Lösung für benutzerdefinierte Sortieren mit einem Wörterbuch:

Um eine benutzerdefinierte Sortierung mit einem Wörterbuch zu erreichen, befolgen Sie diese Schritte:

  1. Erstellen Sie einen Pandas DataFrame mit der gewünschten Spalte, die Monatsnamen enthält.
  2. Erstellen Sie ein Wörterbuch, das die Monatsnamen den entsprechenden numerischen Indizes zuordnet, z. B. custom_dict = {'March':0, 'April':1, 'Dec':3}.
  3. Wenden Sie die Funktion apply() auf die Spalte an und verwenden Sie eine Lambda-Funktion, um jeden Monatsnamen seinem Index zuzuordnen mit dem Wörterbuch, z.B. df['m'].apply(lambda x: custom_dict[x]).
  4. Sortieren Sie den DataFrame nach der in Schritt 3 erstellten Zwischenreihe, z. B. df.sort_values('intermediary_series').

Beispiel:

import pandas as pd

# Custom dictionary mapping month names to indices
custom_dict = {'March':0, 'April':1, 'Dec':3}

# Create a DataFrame with a column containing month names
df = pd.DataFrame([[1, 2, 'March'],[5, 6, 'Dec'],[3, 4, 'April']], columns=['a','b','m'])

# Apply the custom sorting
df['intermediary_series'] = df['m'].apply(lambda x: custom_dict[x])
df.sort_values('intermediary_series')

Mit diesem Ansatz können Sie den DataFrame basierend auf der gewünschten Reihenfolge sortieren, die in angegeben ist das benutzerdefinierte Wörterbuch.

Das obige ist der detaillierte Inhalt vonWie kann ich eine benutzerdefinierte Sortierung von Pandas DataFrame-Spalten mithilfe eines Wörterbuchs durchführen?. 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