„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich eine Pandas DataFrame -Spalte basierend auf einem Wörterbuch sortieren?

Wie kann ich eine Pandas DataFrame -Spalte basierend auf einem Wörterbuch sortieren?

Gepostet am 2025-03-25
Durchsuche:534

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

benutzerdefinierte Sortieren in Pandas datframes

In Pandas müssen Sie manchmal einen Datenrahmen basierend auf einer benutzerdefinierten Bestellung sortieren. Dies kann mithilfe eines Wörterbuchs erreicht werden, um die gewünschte Sortierordnung zu definieren.

Problem:
Sie haben einen Pandas -Datenframe mit einer Spalte, die Monatsnamen enthält. Sie möchten diese Spalte mit einem benutzerdefinierten Wörterbuch sortieren, wie z. Was eine elegante Möglichkeit bietet, dieses Szenario zu bewältigen:

custom_dict = {'March':0, 'April':1, 'Dec':3}

konvertieren die Monatsspalte in eine kategorische Serie und geben die benutzerdefinierte Bestellung an: df ['m'] = pd.categorical (df ['m'], ["march", "march", "April", "April". "Dec"])

sortieren Sie den DataFrame basierend auf der kategorialen Spalte:

df.sort_values ​​("m")
  1. df['m'] = pd.Categorical(df['m'], ["March", "April", "Dec"])
    vor pandas uen 0.- und u. u. u. uen und pandas u. u. uen und uen uen. intermediary series to achieve custom sorting:
  2. Apply the custom dictionary to the month column:
    df.sort_values("m")
    s = df['m'].apply(lambda x: {'March':0, 'April':1, 'Dec':3}[x])

Sort the Intermediary -Serie:
S.Sort_Values ​​()

  1. Setzen Sie den Index des DataFrame in die sortierte Intermediary -Serie und sortieren:

    s = df['m'].apply(lambda x: {'March':0, 'April':1, 'Dec':3}[x])
  2. In neueren Versionen von Pandas bietet die Serie eine Ersatzmethode, die eine prägnantere Lösung ermöglicht:
  3. df ['m']. Ersetzen ({'march': 0, 'April': 1, 'dec': 3})

    s.sort_values()
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3