In diesem Artikel werden wir besprechen, wie Sie eine CSV-Datei nach mehreren Spalten sortieren. Zuerst konvertieren wir die CSV-Datei in einen Datenrahmen, dann sortieren wir den Datenrahmen mit der Methode sort_values()

Syntax: DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

Rückgabetyp: Gibt einen sortierten Datenrahmen mit den gleichen Abmessungen wie der Datenrahmen des Funktionsaufrufers zurück.

Nach dem Konvertieren der CSV-Datei in einen Datenrahmen müssen wir zwei oder mehr Spaltennamen der CSV-Datei als Parameter in der Methode sort_values() hinzufügen , wobei die Achse wie unten 0 zugewiesen ist:

sort_values('Spalte1', 'Spalte2'…'Spalte', Achse=0)

Verwendete CSV-Datei:

Nachfolgend finden Sie verschiedene Beispiele, die zeigen, wie eine CSV-Datei nach mehreren Spalten sortiert wird:

Beispiel 1:

Im folgenden Programm konvertieren wir zuerst die CSV-Datei in einen Datenrahmen, dann sortieren wir den Datenrahmen nach einer einzelnen Spalte in aufsteigender Reihenfolge.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by a column
data.sort_values("carat", axis=0, ascending=True,
                 inplace=True, na_position='first')
  
# display
data.head(10)

Ausgabe:

Beispiel 2:

Hier wird nach der Umwandlung in einen Datenrahmen die CSV-Datei nach mehreren Spalten sortiert, die Tiefenspalte wird zuerst aufsteigend sortiert, dann wird die Tabellenspalte für jede Tiefe aufsteigend sortiert.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=True, inplace=True)
  
# display
data.head(10)

Ausgabe:

Beispiel 3: 

Im folgenden Beispiel wird die CSV-Datei in absteigender Reihenfolge nach der Tiefe und dann in aufsteigender Reihenfolge nach der Tabelle für jede Tiefe sortiert. 

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=[False, True], inplace=True)
  
# display
data.head(10)

Ausgabe:

Beispiel 4:

Hier ist ein weiteres Beispiel, bei dem die CSV-Datei nach mehreren Spalten sortiert ist.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table", "carat"], axis=0,
                 ascending=[False, True, False], inplace=True)
  
# display
data.head(10)

Ausgabe: