Função Pandas DataFrame sort_index()

Suraj Joshi 30 janeiro 2023
  1. Método pandas.DataFrame.sort_index()
  2. Exemplo: classificar um DataFrame Pandas com base no índice usando o método sort_index()
  3. Exemplo: Classificar colunas de um DataFrame Pandas usando o método sort_index()
Função Pandas DataFrame sort_index()

Este tutorial explica como podemos classificar um DataFrame Pandas com base em um índice usando o método pandas.DataFrame.sort_index().

Usaremos o DataFrame exibido no exemplo acima para explicar como podemos classificar um DataFrame do Pandas com base em valores de índice.

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)

Resultado:

      Pet    Name  Age(Years)
4     Dog   Rocky           3
2     Cat    Luna           5
1  Rabbit    Coco           5
3    Fish  Finley           4

Método pandas.DataFrame.sort_index()

Sintaxe

DataFrame.sort_index(axis=0,
                     level=None,
                     ascending=True,
                     inplace=False,
                     kind='quicksort',
                     na_position='last',
                     sort_remaining=True,
                     ignore_index=False
                     key=None)

Parâmetros

axis classificar ao longo da linha (axis=0) ou coluna (axis=1)
level Int ou lista. Classifique os valores em níveis de índice especificados
ascending classificar em ordem crescente (ascending=True) ou decrescente (ascending=False)
inplace Boleano. Se for True, modifique o DataFrame do chamador no local
kind qual algoritmo de classificação usar. padrão: quicksort
na_position Coloque o valor NaN no início (na_position = 'first') ou no final (na_position = 'last')
sort_remaining Boleano. Se for True, classifique por outros níveis também (em ordem) após classificar por nível especificado para index=multilevel
ignore_index Boleano. Se True, o rótulo do eixo resultante será 0,1, … n-1.
key Callable. Se não for nenhum, aplique esta função chave aos valores do índice antes de classificar.

Retornar

Se inplace for True, retorna o DataFrame classificado por índice ao longo do eixo especificado; caso contrário, None.

Por padrão, temos axis=0, representando o DataFrame será classificado ao longo do eixo da linha ou classificado por valores de índice. Se definirmos axis=1, ele classificará as colunas do DataFrame. Por padrão, o método classificará o DataFrame em ordem crescente. Para classificar o DataFrame em ordem decrescente, definimos ascending=False.

Exemplo: classificar um DataFrame Pandas com base no índice usando o método 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)

Resultado:

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

Ele classifica o DataFrame pet_df em ordem crescente com base nos valores do índice. Para classificar o DataFrame com base em valores de índice, precisamos especificar o parâmetro index. Por padrão, o valor de axis é 0, que classifica as linhas do DataFrame, ou seja, classifica o DataFrame com base nos valores de índice.

Para classificar o DataFrame com base nos valores de índice em ordem decrescente, definimos ascending=False no método 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)

Resultado:

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

Ele classifica o DataFrame pets_df em ordem decrescente com base nos valores do índice.

Exemplo: Classificar colunas de um DataFrame Pandas usando o método sort_index()

Para ordenar as colunas de um Pandas DataFrame, definimos axis=1 no método 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)

Resultado:

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

Ele classifica as colunas do DataFrame pets_df. As colunas são classificadas em ordem crescente pelo nome das colunas.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Pandas DataFrame