Zusammenfassung der Python-Sortierung (Liste, Wörterbuchtyp, Serie, DataFrame)

Ich benutze oft die Sortierung, aber es gibt einige Unterschiede je nach Typ, deshalb werde ich es zusammenfassen. Ich werde jede nach Liste, Wörterbuchtyp, Serie und DataFrame zusammenfassen.

Ich denke, es gibt andere Möglichkeiten, dies zu tun. Wenn Sie Empfehlungen haben, teilen Sie uns dies bitte mit.

aufführen

Ich denke, die Sortiermethode ist die einfachste. Wenn Sie auch die sortierte Methode kennen, können Sie flexibel reagieren. Beachten Sie, dass die sortierte Methode keine Änderungen an der Liste selbst vornimmt und die sortierte Liste als Rückgabewert zurückgibt.

Aufsteigende Sorte

Sortiermethode

lst = [3, 5, 2, 9, 0, 4]
lst.sort()
print(lst)
#=> [0, 2, 3, 4, 5, 9]

sortierte Funktion

lst = [3, 5, 2, 9, 0, 4]
lst = sorted(lst)
print(lst)
#=> [0, 2, 3, 4, 5, 9]

Absteigende Sorte

Sortiermethode

lst_rvs = [3, 5, 2, 9, 0, 4]
lst_rvs.sort()
lst_rvs.reverse()
print(lst_rvs)
#=> [9, 5, 4, 3, 2, 0]

sortierte Funktion

lst = [3, 5, 2, 9, 0, 4]
lst = sorted(lst, key=lambda x: -x)
print(lst)
#=> [9, 5, 4, 3, 2, 0]

Wörterbuchtyp

Schlüssel aufsteigende Sortierung

Verwenden Sie die sortierte Funktion, die auch in der Liste verwendet wurde. Beim Wörterbuchtyp ist zu beachten, dass die Liste als Rückgabewert zurückgegeben wird.

dct = { 2: 3, 3: 4, 1: 2, 0: 8, 4: 2 }
dct = sorted(dct.items())
print(dct)
#=> [(0, 8), (1, 2), (2, 3), (3, 4), (4, 2)]

Ich denke, es ist leicht vorstellbar, es wie folgt zu verwenden.

dct = { 2: 3, 3: 4, 1: 2, 0: 8, 4: 2 }
for k, v in sorted(dct.items()):
    print(str(k) + ": " + str(v))
0: 8
1: 2
2: 3
3: 4
4: 2

Im Folgenden wird der Wörterbuchtyp im Ausgabeformat der for-Anweisung erläutert.

Schlüssel absteigend sortieren

dct = {2: 3, 3: 4, 1: 2, 0: 8, 4: 2}
for k, v in sorted(dct.items(), key=lambda x: -x[0]):
    print(str(k) + ": " + str(v))
4: 2
3: 4
2: 3
1: 2
0: 8

Wert Aufsteigende Sortierung

dct = {2: 3, 3: 4, 1: 2, 0: 8, 4: 2}
for k, v in sorted(dct.items(), key=lambda x: x[1]):
    print(str(k) + ": " + str(v))
1: 2
4: 2
2: 3
3: 4
0: 8

Wert Absteigende Sortierung

dct = {2: 3, 3: 4, 1: 2, 0: 8, 4: 2}
for k, v in sorted(dct.items(), key=lambda x: -x[1]):
    print(str(k) + ": " + str(v))
0: 8
3: 4
2: 3
1: 2
4: 2

Series (pandas)

Index aufsteigende Sortierung

from pandas import Series
ser = Series({2: 3, 3: 4, 1: 2, 0: 8, 4: 2})
ser = ser.sort_index()
print(ser)
0    8
1    2
2    3
3    4
4    2
dtype: int64

index Absteigende Sortierung

from pandas import Series
ser = Series({2: 3, 3: 4, 1: 2, 0: 8, 4: 2})
ser = ser.sort_index(ascending=False)
print(ser)
4    2
3    4
2    3
1    2
0    8
dtype: int64

Wert Aufsteigende Sortierung

from pandas import Series
ser = Series({2: 3, 3: 4, 1: 2, 0: 8, 4: 2})
ser = ser.sort_values()
print(ser)
1    2
4    2
2    3
3    4
0    8
dtype: int64

Wert Absteigende Sortierung

from pandas import Series
ser = Series({2: 3, 3: 4, 1: 2, 0: 8, 4: 2})
ser = ser.sort_values(ascending=False)
print(ser)
0    8
3    4
2    3
4    2
1    2
dtype: int64

DataFrame (pandas)

Nach Etikett sortieren

Index aufsteigende Reihenfolge

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_index()
print(df)
   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                4      3
   HP  Attack  Defence  Special Attack  Special Defence  Speed
1   9       3        1               6                4      3
2   3       4        2               8                2      3
3   3       5        1               9                4      2

Index absteigende Reihenfolge

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_index(ascending=False)
print(df)

   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                3      3
   HP  Attack  Defence  Special Attack  Special Defence  Speed
3   3       5        1               9                4      2
2   3       4        2               8                2      3
1   9       3        1               6                3      3

Spalte aufsteigende Reihenfolge

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_index(axis=1)
print(df)
   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                4      3
   Attack  Defence  HP  Special Attack  Special Defence  Speed
2       4        2   3               8                2      3
3       5        1   3               9                4      2
1       3        1   9               6                4      3

Spalte absteigende Reihenfolge

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_index(axis=1, ascending=False)
print(df)
   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                3      3
   Speed  Special Defence  Special Attack  HP  Defence  Attack
2      3                2               8   3        2       4
3      2                4               9   3        1       5
1      3                3               6   9        1       3

Nach Wert sortieren

Spaltenwert in aufsteigender Reihenfolge angegeben

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_values(by="Special Defence")
print(df)

   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                3      3
   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
1   9       3        1               6                3      3
3   3       5        1               9                4      2

Spaltenwert in absteigender Reihenfolge angegeben

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2,3,1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_values(by="Special Defence", ascending=False)
print(df)
   HP  Attack  Defence  Special Attack  Special Defence  Speed
2   3       4        2               8                2      3
3   3       5        1               9                4      2
1   9       3        1               6                3      3
   HP  Attack  Defence  Special Attack  Special Defence  Speed
3   3       5        1               9                4      2
1   9       3        1               6                3      3
2   3       4        2               8                2      3

Indexspezifikation

from pandas import DataFrame
df = DataFrame([[3, 4, 2, 8, 2, 3], [3, 5, 1, 9, 4, 2], [9, 3, 1, 6, 3, 3]], index=[2, 3, 1], columns=["HP", "Attack", "Defence", "Special Attack", "Special Defence", "Speed"])
print(df)
df = df.sort_values(by=3, axis=1)
print(df)
ValueError: When sorting by column, axis must be 0 (rows)

Ich könnte es damit machen, aber ich kann nicht. .. BUG/ENH: sort_values(by=index_label, axis=1)

Ich verstehe, ich kann es jetzt nicht tun. Es scheint, dass es mit dem nächsten größeren Versions-Upgrade möglich sein wird. Geplanter Termin 31. August 2017 (Stand 15. Juli 2016)

Referenz

Python-Wörterbuch (Diktattyp) nach Wert sortieren Sort HOW TO (Dokument) Python-Tipps: Ich möchte den Inhalt eines Diktattyps (Wörterbuchs) sortieren pandas.Series.sort_index pandas.Series.sort_values pandas.DataFrame.sort_index pandas.DataFrame.sort_values

Recommended Posts

Zusammenfassung der Python-Sortierung (Liste, Wörterbuchtyp, Serie, DataFrame)
Zusammenfassung der Python3-Listenoperationen
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Grundlegende Grammatik der Python3-Reihe (Liste, Tapple)
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Zusammenfassung der Verwendung der Python-Liste
Liste der grundlegenden Operationen für Python3-Listen, -Tapples, -Wörterbücher und -Sätze
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
Grundlegende Bedienung von Python Pandas Series und Dataframe (1)
Liste der Python-Module
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Zusammenfassung der Python-Argumente
[Python] Typfehler: Zusammenfassung der Ursachen und Abhilfemaßnahmen für 'Kein Typ'
Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)
[Python] Zusammenfassung der Methode zur Tabellenerstellung mit DataFrame (Pandas)
Python-Liste, für Anweisung, Wörterbuch
Zusammenfassung der Python-Dateivorgänge
Python --Überprüfen Sie den Wertetyp
Python-Datentyp-Zusammenfassungsnotiz
[Python] Kopie einer mehrdimensionalen Liste
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
Zusammenfassung der Unterstützung von Hash-Operationen (Dictionary) für Ruby und Python
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Lerndatensatz (6. Tag) #Set-Typ #Dictionary-Typ #Mutuelle Konvertierung des Listen-Taple-Sets #ndarray-Typ #Pandas (DataFrame-Typ)
[Python] Operationsnotiz von Pandas DataFrame
Erweiterung des Python-Wörterbuchs um Argumente
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Zeitdelta in Python 2.7-Serie teilen
Eine kurze Zusammenfassung der Python-Sammlung
Konvertieren Sie die Liste mit Python in DataFrame
Grundlegende Grammatik des Python3-Systems (Wörterbuch)
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Informationen zur Grundlagenliste der Python-Grundlagen
Zusammenfassung der Python-Indizes und -Slices
[OpenCV; Python] Zusammenfassung der Funktion findcontours
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Python] Was ist Pandas Series und DataFrame?
[Python] Zusammenfassung der Verwendung von Pandas
[Django] Abfragesatz konvertieren, um Typliste zu diktieren
Zeigen Sie eine Liste der Alphabete in Python 3 an
Zusammenfassung verschiedener for-Anweisungen in Python
[Python] Beschleunigt das Laden von Zeitreihen-CSV
[Python2.7] Zusammenfassung der Verwendung von unittest
[Python] Ruft eine Liste der Instanzvariablen ab
[Python] [Meta] Ist der Python-Typ ein Typ?
[Einführung in die Udemy Python3 + -Anwendung] 24. Wörterbuchtyp
Zusammenfassung nützlicher Techniken von Scrapy in Python
Einfache Einführung in die Python3-Serie und OpenCV3
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Zusammenfassung der Achsenoptionsspezifikation von Python "numpy.sum (...)"
[Einführung in die Udemy Python3 + -Anwendung] 16. Listentyp
[Python] Nur eine Liste der Ordner abrufen
Um Python zu beschleunigen, fassen Sie den Umfang der Berechnung des Sammlungstyps (Liste / Tupel / Wörterbuch / Satz) für jeden Zweck zusammen.
Geben Sie kein veränderbares Objekt (Listentyp, Wörterbuchtyp usw.) als Anfangswert des Funktionsarguments von Python an.
Python-Zusammenfassung
[Python] Erstellen Sie eine Liste mit Datum und Uhrzeit (Datum / Uhrzeit-Typ) für einen bestimmten Zeitraum