Panda: come ordinare i dataframes in ordine alfabetico


È possibile utilizzare i seguenti metodi per ordinare alfabeticamente le righe di un DataFrame panda:

Metodo 1: ordinare per colonna in ordine alfabetico

 #sort A to Z
df. sort_values (' column1 ')

#sort Z to A
df. sort_values (' column1 ', ascending= False )

Metodo 2: ordinare in ordine alfabetico per più colonne

 #sort by column1 from Z to A, then by column2 from A to Z
df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))

L’esempio seguente mostra come utilizzare ciascun metodo nella pratica.

Esempio 1: ordinamento alfabetico per colonna

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Spurs', 'Lakers', 'Nuggets', 'Hawks'],
                   ' points ': [120, 108, 99, 104, 115]})

#view DataFrame
print (df)

      team points
0 Mavs 120
1 Spurs 108
2 Lakers 99
3 Nuggets 104
4 Hawks 115

Possiamo utilizzare la seguente sintassi per ordinare le righe del DataFrame in base al nome della squadra dalla A alla Z :

 #sort by team name A to Z
df_sorted = df. sort_values (' team ')

#view sorted DataFrame
print (df_sorted)

      team points
4 Hawks 115
2 Lakers 99
0 Mavs 120
3 Nuggets 104
1 Spurs 108

Tieni presente che le righe ora sono ordinate in base al nome della squadra AZ.

Potremmo anche ordinare dalla Z alla A :

 #sort by team name Z to A
df_sorted = df. sort_values (' team ', ascending= False )

#view sorted DataFrame
print (df_sorted)

      team points
1 Spurs 108
3 Nuggets 104
0 Mavs 120
2 Lakers 99
4 Hawks 115

E potremmo anche utilizzare la funzione reset_index() per reimpostare i valori dell’indice nel DataFrame ordinato:

 #sort by team name A to Z and reset index
df_sorted = df. sort_values (' team '). reset_index (drop= True )

#view sorted DataFrame
print (df_sorted)

      team points
0 Hawks 115
1 Lakers 99
2 Mavs 120
3 Nuggets 104
4 Spurs 108

Esempio 2: ordinamento alfabetico per più colonne

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' conference ': ['West', 'West', 'West', 'East', 'East'],
                   ' team ': ['Mavs', 'Spurs', 'Lakers', 'Heat', 'Hawks'],
                   ' points ': [120, 108, 99, 104, 115]})

#view DataFrame
print (df)

  conference team points
0 West Mavs 120
1 West Spurs 108
2 West Lakers 99
3 East Heat 104
4 East Hawks 115

È possibile utilizzare la seguente sintassi per ordinare le righe del DataFrame per nome della conferenza dalla A alla Z, quindi per nome del team dalla Z alla A:

 #sort by conference name A to Z, then by team name Z to A
df_sorted = df. sort_values ([' conference ', ' team '], ascending=( True , False ))

#view sorted DataFrame
print (df_sorted)

  conference team points
3 East Heat 104
4 East Hawks 115
1 West Spurs 108
0 West Mavs 120
2 West Lakers 99

Le righe sono ordinate per nome della conferenza AZ, quindi per nome della squadra ZA.

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *