Panda: come ordinare le colonne per nome


È possibile utilizzare la seguente sintassi per ordinare rapidamente un DataFrame panda in base ai nomi delle colonne:

 df = df[[' column1 ', ' column4 ', ' column3 ', ' column2 ']]

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: ordinare Pandas DataFrame in base ai nomi delle colonne

Il codice seguente mostra come ordinare un DataFrame panda in base ai nomi delle colonne:

 import pandas as pd

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

#list column names
list(df)

['points', 'assists', 'rebounds', 'steals']

#sort columns by names
df = df[[' steals ', ' assists ', ' rebounds ', ' points ']]

df

	steals assists rebounds points
0 2 5 11 25
1 3 7 8 12
2 3 7 10 15
3 2 9 6 14
4 5 12 6 19
5 3 9 5 23
6 2 9 9 25
7 1 4 12 29

Esempio 2: ordinare Pandas DataFrame per elenco

Il codice seguente mostra come ordinare un DataFrame panda in base a un elenco di nomi:

 import pandas as pd

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

#define list of column names
name_order = [' steals ', ' assists ', ' rebounds ', ' points ']

#sort columns by list
df = df[name_order]

df

	steals assists rebounds points
0 2 5 11 25
1 3 7 8 12
2 3 7 10 15
3 2 9 6 14
4 5 12 6 19
5 3 9 5 23
6 2 9 9 25
7 1 4 12 29

Esempio 3: ordinare i Pandas DataFrame in ordine alfabetico

Il codice seguente mostra come ordinare alfabeticamente un DataFrame panda:

 import pandas as pd

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

#sort columns alphabetically
df = df[sorted( df.columns )]

df

	assists points rebounds steals
0 5 25 11 2
1 7 12 8 3
2 7 15 10 3
3 9 14 6 2
4 12 19 6 5
5 9 23 5 3
6 9 25 9 2
7 4 29 12 1

Risorse addizionali

Come ordinare un DataFrame Pandas per data
Come trovare valori univoci in una colonna Pandas

Aggiungi un commento

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