Wie sortiere ich CSV nach mehreren Spalten in Python?
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: