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
Freigeben: 2024-12-15 08:49:09
Original
186 Leute haben es durchsucht

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

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

df.sort(['a', 'b'], ascending=[True, False])
Nach dem Login kopieren

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

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

df1.sort(['a', 'b'], ascending=[True, False])
Nach dem Login kopieren
   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
Nach dem Login kopieren

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

oder

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

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!

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