Oft sind Sie daran interessiert, eine oder mehrere Zeichenfolgenspalten in einem Pandas-DataFrame in Float-Spalten zu konvertieren. Glücklicherweise ist dies mit der Funktion astype() einfach zu bewerkstelligen.
Dieses Tutorial zeigt mehrere …
Oft möchten Sie einen Pandas-DataFrame nach einer oder mehreren Spalten sortieren. In diesem Tutorial wird erklärt, wie Sie dies mit der pandas sort_values- Funktion tun.
Angenommen, wir haben den folgenden Pandas DataFrame mit 10 Zeilen und 4 Spalten:
import pandas as pd
import numpy as np
#Dataframe erstellen
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
'rebounds': [np.nan, 8, 10, 6, 6, 9, 6, 10, 10, 7]})
df
player points assists rebounds
0 A 25 5 NaN
1 B 20 7 8
2 C 14 7 10
3 D 16 8 6
4 E 27 5 6
5 F 20 7 9
6 G 12 6 6
7 H 15 9 10
8 I 14 9 10
9 J 19 5 7
Beispiel 1: Nach einer Spalte aufsteigend sortieren.
Der folgende Codeausschnitt zeigt, wie Sie den DataFrame nach einer Spalte in aufsteigender Reihenfolge sortieren:
#sortieren nach Assists vom kleinsten zum größten
df.sort_values(by=['assists'])
player points assists rebounds
0 A 25 5 NaN
4 E 27 5 6.0
9 J 19 5 7.0
6 G 12 6 6.0
1 B 20 7 8.0
2 C 14 7 10.0
5 F 20 7 9.0
3 D 16 8 6.0
7 H 15 9 10.0
8 I 14 9 10.0
Beispiel 2: Nach einer Spalte absteigend sortieren.
Der folgende Codeausschnitt zeigt, wie Sie den DataFrame nach einer Spalte in aufsteigender Reihenfolge sortieren:
#sortieren nach Rebounds vom größten zum kleinsten
df.sort_values(by=['rebounds'], ascending=False)
player points assists rebounds
2 C 14 7 10.0
7 H 15 9 10.0
8 I 14 9 10.0
5 F 20 7 9.0
1 B 20 7 8.0
9 J 19 5 7.0
3 D 16 8 6.0
4 E 27 5 6.0
6 G 12 6 6.0
0 A 25 5 NaN
Beachten Sie, dass beim Sortieren nach einer Zeichenspalte die Zeilen ascending=False in umgekehrter alphabetischer Reihenfolge sortiert werden:
#Nach Zeichenspalte sortieren
df.sort_values(by=['player'], ascending=False)
player points assists rebounds
9 J 19 5 7.0
8 I 14 9 10.0
7 H 15 9 10.0
6 G 12 6 6.0
5 F 20 7 9.0
4 E 27 5 6.0
3 D 16 8 6.0
2 C 14 7 10.0
1 B 20 7 8.0
0 A 25 5 NaN
Beispiel 3: Sortieren nach mehreren Spalten.
Der folgende Codeausschnitt zeigt, wie der DataFrame nach mehreren Spalten sortiert wird, jeweils in aufsteigender Reihenfolge:
#sort by assists ascending, then rebounds ascending
df.sort_values(by=['assists', 'rebounds'])
player points assists rebounds
4 E 27 5 6.0
9 J 19 5 7.0
0 A 25 5 NaN
6 G 12 6 6.0
1 B 20 7 8.0
5 F 20 7 9.0
2 C 14 7 10.0
3 D 16 8 6.0
7 H 15 9 10.0
8 I 14 9 10.0
Beachten Sie, dass Sie auch eine Spalte aufsteigend und eine andere absteigend sortieren können, indem Sie mehrere Argumente an ascending übergeben:
#sort by assists ascending, then rebounds descending
df.sort_values(by=['assists', 'rebounds'], ascending=[True, False])
player points assists rebounds
9 J 19 5 7.0
4 E 27 5 6.0
0 A 25 5 NaN
6 G 12 6 6.0
2 C 14 7 10.0
5 F 20 7 9.0
1 B 20 7 8.0
3 D 16 8 6.0
7 H 15 9 10.0
8 I 14 9 10.0
Beispiel 4: Sortieren Sie zuerst NaNs.
Standardmäßig setzt pandas NaNs an letzter Stelle, aber Sie können angeben, dass NaNs zuerst platziert werden sollen:
#sort by assists ascending, then rebounds descending
df.sort_values(by=['rebounds'], na_position='first')
player points assists rebounds
0 A 25 5 NaN
3 D 16 8 6.0
4 E 27 5 6.0
6 G 12 6 6.0
9 J 19 5 7.0
1 B 20 7 8.0
5 F 20 7 9.0
2 C 14 7 10.0
7 H 15 9 10.0
8 I 14 9 10.0
Die vollständige Dokumentation zur Funktion sort_values finden Sie hier.
Oft sind Sie daran interessiert, eine oder mehrere Zeichenfolgenspalten in einem Pandas-DataFrame in Float-Spalten zu konvertieren. Glücklicherweise ist dies mit der Funktion astype() einfach zu bewerkstelligen.
Dieses Tutorial zeigt mehrere …
Oft sind Sie daran interessiert, die Werte einer Variablen in Python in „Bins“ zu platzieren. Glücklicherweise ist dies mit der Funktion numpy.digitize(), die die folgende Syntax verwendet, einfach zu …