Panda: ordina il dataframe per indice e colonna


È possibile utilizzare la seguente sintassi per ordinare un DataFrame panda per indice e colonna:

 df = df. sort_values (by = [' column_name ', ' index '], ascending = [ False , True ])

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempi: ordinare DataFrame per indice e colonna

Il codice seguente mostra come ordinare un DataFrame panda in base alla colonna denominata points e quindi alla colonna dell’indice :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' id ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' points ': [25, 15, 15, 14, 20, 20, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}). set_index (' id ')

#view first few rows
df. head ()

	points assists rebounds
id			
1 25 5 11
2 15 7 8
3 15 7 10
4 14 9 6
5 20 12 6

#sort by points and then by index
df. sort_values (by = [' points ', ' id '], ascending = [ False , True ])

	points assists rebounds
id			
8 29 4 12
1 25 5 11
7 25 9 9
5 20 12 6
6 20 9 5
2 15 7 8
3 15 7 10
4 14 9 6

Il DataFrame risultante viene ordinato per punti in ordine decrescente, quindi per indice in ordine crescente (se ci sono due giocatori che ottengono lo stesso numero di punti).

Tieni presente che se non utilizziamo l’argomento ascendente , ciascuna colonna utilizzerà l’ordine crescente come metodo di ordinamento predefinito:

 #sort by points and then by index
df. sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Se la colonna dell’indice è attualmente senza nome, puoi rinominarla e quindi ordinarla di conseguenza:

 #sort by points and then by index
df. rename_axis (' index '). sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Risorse addizionali

Panda: come ordinare le colonne per nome
Panda: ordina il DataFrame per data
Panda: come rimuovere le righe duplicate

Aggiungi un commento

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