Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich einen Pandas-DataFrame nach mehreren Spalten in aufsteigender und absteigender Reihenfolge?

Wie sortiere ich einen Pandas-DataFrame nach mehreren Spalten in aufsteigender und absteigender Reihenfolge?

Linda Hamilton
Linda HamiltonOriginal
2024-12-15 08:49:09187Durchsuche

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

Sortieren eines Pandas-Datenrahmens nach mehreren Spalten

Das Sortieren eines Pandas-Datenrahmens nach mehreren Spalten ist ein häufiger Vorgang in der Datenanalyse. Betrachten Sie einen Datenrahmen mit den Spalten „a“, „b“ und „c“. Um diesen Datenrahmen nach Spalte „b“ in aufsteigender Reihenfolge und Spalte „c“ in absteigender Reihenfolge zu sortieren, führen Sie die folgenden Schritte aus:

Ab Pandas-Version 0.17.0 ist die Sortiermethode zugunsten von sort_values ​​veraltet. Ab Version 0.20.0 wurde die Sortierung vollständig entfernt. Die Argumente und Ergebnisse bleiben jedoch unverändert:

df.sort_values(['a', 'b'], ascending=[True, False])

Eine äquivalente Möglichkeit zur Verwendung der veralteten Sortiermethode ist:

df.sort(['a', 'b'], ascending=[True, False])

Betrachten Sie beispielsweise einen Datenrahmen df1 mit zufälligen Ganzzahlwerten in Spalten 'a' und 'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])

Sortieren dieses Datenrahmens nach „a“ in aufsteigender Reihenfolge und „b“ in absteigender Reihenfolge ergibt:

df1.sort(['a', 'b'], ascending=[True, False])
   a  b
2  1  4
7  1  3
1  1  2
3  1  2
4  3  2
6  4  4
0  4  3
9  4  3
5  4  1
8  4  1

Bedenken Sie, dass die Sortiermethode standardmäßig nicht vorhanden ist. Um df1 mit den sortierten Werten zu aktualisieren, weisen Sie das Ergebnis der Sortiermethode df1 zu oder verwenden Sie inplace=True im Methodenaufruf:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

oder

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)

Das obige ist der detaillierte Inhalt vonWie sortiere ich einen Pandas-DataFrame nach mehreren Spalten in aufsteigender und absteigender Reihenfolge?. 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