Funzione Pandas DataFrame sort_index()
-
Metodo
pandas.DataFrame.sort_index() -
Esempio: ordina un DataFrame Pandas in base all’indice utilizzando il metodo
sort_index() -
Esempio: ordina le colonne di un DataFrame Pandas usando il metodo
sort_index()
Questo tutorial spiega come possiamo ordinare un Pandas DataFrame in base a un indice usando il metodo pandas.DataFrame.sort_index().
Useremo il DataFrame mostrato nell’esempio sopra per spiegare come possiamo ordinare un Pandas DataFrame in base ai valori di indice.
import pandas as pd
pets_df = pd.DataFrame(
{
"Pet": ["Dog", "Cat", "Rabbit", "Fish"],
"Name": ["Rocky", "Luna", "Coco", "Finley"],
"Age(Years)": [3, 5, 5, 4],
},
index=["4", "2", "1", "3"],
)
print(pets_df)
Produzione:
Pet Name Age(Years)
4 Dog Rocky 3
2 Cat Luna 5
1 Rabbit Coco 5
3 Fish Finley 4
Metodo pandas.DataFrame.sort_index()
Sintassi
DataFrame.sort_index(axis=0,
level=None,
ascending=True,
inplace=False,
kind='quicksort',
na_position='last',
sort_remaining=True,
ignore_index=False
key=None)
Parametri
axis |
ordina lungo la riga (axis=0) o colonna (axis=1) |
level |
Int o List. Ordina in base ai valori nei livelli di indice specificati |
ascending |
ordina in ordine ascendente (ascending=True) o discendente (ascending=False) |
inplace |
Booleano. Se True, modifica il DataFrame del chiamante sul posto |
kind |
quale algoritmo di ordinamento utilizzare. impostazione predefinita: quicksort |
na_position |
Metti il valore NaN all’inizio (na_position = 'first') o alla fine (na_position = 'last') |
sort_remaining |
Booleano. Se True, ordina anche per altri livelli (in ordine) dopo l’ordinamento in base al livello specificato per index=multilevel |
ignore_index |
Booleano. Se True, l’etichetta dell’asse risultante sarà 0,1, … n-1. |
key |
Richiamabile. Se non è Nessuno, applica questa funzione key ai valori dell’indice prima dell’ordinamento. |
Ritorno
Se inplace è True, restituisce il DataFrame ordinato per indice lungo l’asse specificato; altrimenti, None.
Per impostazione predefinita, abbiamo axis=0, che rappresenta il DataFrame sarà ordinato lungo l’asse riga o ordinato per valori di indice. Se impostiamo axis=1, ordinerà le colonne del DataFrame. Per impostazione predefinita, il metodo ordinerà il DataFrame in ordine crescente. Per ordinare il DataFrame in ordine decrescente, impostiamo ascending=False.
Esempio: ordina un DataFrame Pandas in base all’indice utilizzando il metodo sort_index()
import pandas as pd
pets_df = pd.DataFrame(
{
"Pet": ["Dog", "Cat", "Rabbit", "Fish"],
"Name": ["Rocky", "Luna", "Coco", "Finley"],
"Age(Years)": [3, 5, 5, 4],
},
index=["4", "2", "1", "3"],
)
sorted_df = pets_df.sort_index()
print("Initial DataFrame:")
print(pets_df, "\n")
print("DataFrame Sorted by Index Values:")
print(sorted_df)
Produzione:
Initial DataFrame:
Pet Name Age(Years)
4 Dog Rocky 3
2 Cat Luna 5
1 Rabbit Coco 5
3 Fish Finley 4
DataFrame Sorted by Index Values:
Pet Name Age(Years)
1 Rabbit Coco 5
2 Cat Luna 5
3 Fish Finley 4
4 Dog Rocky 3
Ordina il DataFrame pet_df in ordine crescente in base ai valori dell’indice. Per ordinare il DataFrame in base ai valori di indice, dobbiamo specificare il parametro index. Per impostazione predefinita, il valore di axis è 0, che ordina le righe del DataFrame, ovvero ordina DataFrame in base ai valori dell’indice.
Per ordinare il DataFrame in base ai valori dell’indice in ordine decrescente, impostiamo ascending=False nel metodo sort_index().
import pandas as pd
pets_df = pd.DataFrame(
{
"Pet": ["Dog", "Cat", "Rabbit", "Fish"],
"Name": ["Rocky", "Luna", "Coco", "Finley"],
"Age(Years)": [3, 5, 5, 4],
},
index=["4", "2", "1", "3"],
)
sorted_df = pets_df.sort_index(ascending=False)
print("Initial DataFrame:")
print(pets_df, "\n")
print("DataFrame Sorted in Descending order based Index Values:")
print(sorted_df)
Produzione:
Initial DataFrame:
Pet Name Age(Years)
4 Dog Rocky 3
2 Cat Luna 5
1 Rabbit Coco 5
3 Fish Finley 4
DataFrame Sorted in Descending order based Index Values:
Pet Name Age(Years)
4 Dog Rocky 3
3 Fish Finley 4
2 Cat Luna 5
1 Rabbit Coco 5
Ordina il DataFrame pets_df in ordine decrescente in base ai valori dell’indice.
Esempio: ordina le colonne di un DataFrame Pandas usando il metodo sort_index()
Per ordinare le colonne di un Pandas DataFrame, impostiamo axis=1 nel metodo sort_index().
import pandas as pd
pets_df = pd.DataFrame(
{
"Pet": ["Dog", "Cat", "Rabbit", "Fish"],
"Name": ["Rocky", "Luna", "Coco", "Finley"],
"Age(Years)": [3, 5, 5, 4],
},
index=["4", "2", "1", "3"],
)
sorted_df = pets_df.sort_index(axis=1)
print("Initial DataFrame:")
print(pets_df, "\n")
print("DataFrame with sorted Columns:")
print(sorted_df)
Produzione:
Initial DataFrame:
Pet Name Age(Years)
4 Dog Rocky 3
2 Cat Luna 5
1 Rabbit Coco 5
3 Fish Finley 4
DataFrame with sorted Columns:
Age(Years) Name Pet
4 3 Rocky Dog
2 5 Luna Cat
1 5 Coco Rabbit
3 4 Finley Fish
Ordina le colonne del DataFrame pets_df. Le colonne vengono ordinate in ordine crescente in base al nome delle colonne.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn