Come ordinare per più colonne in panda (con esempi)
È possibile utilizzare la seguente sintassi di base per ordinare un DataFrame panda in base a più colonne:
df = df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: ordina per più colonne in Pandas
Supponiamo di avere i seguenti panda DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [14, 20, 9, 20, 25, 29, 20, 25], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 14 5 11 1 20 7 8 2 9 7 10 3 20 9 6 4 25 12 6 5 29 9 5 6 20 9 9 7 25 4 12
Possiamo usare la seguente sintassi per ordinare le linee del DataFrame aumentando i punti , quindi diminuendo i passaggi :
#sort by points ascending, then assists ascending
df = df. sort_values ([' points ', ' assists '])
#view updated DataFrame
df
points assists rebounds
2 9 7 10
0 14 5 11
1 20 7 8
3 20 9 6
6 20 9 9
7 25 4 12
4 25 12 6
5 29 9 5
Tieni presente che le linee sono ordinate per punti ascendenti (dal più piccolo al più grande), quindi per passaggi ascendenti.
Possiamo anche utilizzare l’argomento ascendente per specificare se ordinare ciascuna colonna in ordine crescente o decrescente:
#sort by points descending, then assists ascending
df = df. sort_values ([' points ', ' assists '], ascending = ( False , True )))
#view updated DataFrame
df
points assists rebounds
5 29 9 5
7 25 4 12
4 25 12 6
1 20 7 8
3 20 9 6
6 20 9 9
0 14 5 11
2 9 7 10
Tieni presente che le linee vengono ordinate per punti discendenti (dal più grande al più piccolo), quindi per passaggi ascendenti.
In questi esempi, abbiamo ordinato DataFrame in base a due colonne, ma possiamo utilizzare questa esatta sintassi per ordinare in base al numero di colonne che desideriamo.
Nota : puoi trovare la documentazione completa della funzione sort_values() di panda qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Panda: come ordinare per data
Panda: come ordinare le colonne per nome
Panda: come ordinare sia per indice che per colonna