Python pandas Spalte Reihenfolge nach den Werten in einer Zeile
Wie kann ich die Reihenfolge der Spalten nach den Werten der letzten Zeile? In dem folgenden Beispiel, meine Letzte df werden die Spalten in der folgenden Reihenfolge: 'ddd' 'aaa' 'ppp' 'fff'.
>>> df = DataFrame(np.random.randn(10, 4), columns=['ddd', 'fff', 'aaa', 'ppp'])
>>> df
ddd fff aaa ppp
0 -0.177438 0.102561 -1.318710 1.321252
1 0.980348 0.786721 0.374506 -1.411019
2 0.405112 0.514216 1.761983 -0.529482
3 1.659710 -1.017048 -0.737615 -0.388145
4 -0.472223 1.407655 -0.129119 -0.912974
5 1.221324 -0.656599 0.563152 -0.900710
6 -1.816420 -2.898094 -0.232047 -0.648904
7 2.793261 0.568760 -0.850100 0.654704
8 -2.180891 2.054178 -1.050897 -1.461458
9 -1.123756 1.245987 -0.239863 0.359759
Du musst angemeldet sein, um einen Kommentar abzugeben.
[aktualisiert zu vereinfachen]
tl;dr:
Einige Erklärung folgt. Erstellen Sie zunächst die
DataFrame
:Holen Sie sich die Letzte Zeile:
Holen Sie sich die Indizes, die würde Sortieren:
Verwenden Sie diesen index
df
:Gewinn!
Den
sort_values
Methode tut dies direkt, wenn Sie angesichtsaxis=1
argument.So, es ist nicht mehr notwendig, um die Umsetzung des dataframe zu Sortieren, indem Sie eine Zeile. Auch die
sort
Methode ist jetzt veraltet.Ich verwenden würde, die Umsetzung und die sort-Methode (für Spalten):
Könnten Sie erleiden einen Leistungseinbruch, aber es ist schnell und einfach.
Dies funktioniert