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