Skip to content

Ordenando um Pandas DataFrame pelo Índice

Updated on

Uma das características mais poderosas do Pandas é sua capacidade de lidar e manipular facilmente grandes quantidades de dados. Neste tutorial, discutiremos um dos métodos fundamentais do Pandas - o método sort_index(). Com este método, podemos ordenar um Pandas DataFrame pelo seu índice, seja numérico ou baseado em caracteres. Ao final deste tutorial, você terá uma compreensão sólida de como usar o método sort_index() para ordenar seus dados e melhorar suas habilidades de manipulação de dados.

Mas antes de mergulharmos no método sort_index(), vamos falar brevemente sobre o que é um Pandas DataFrame.

Quer criar visualizações de dados rapidamente em Python?

PyGWalker é um projeto Python de código aberto que pode ajudar a acelerar o fluxo de análise e visualização de dados diretamente em ambientes baseados em notebooks Jupyter.

PyGWalker (opens in a new tab) transforma seu DataFrame Pandas (ou Polars DataFrame) em uma interface visual onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Você pode executar o PyGWalker agora mesmo com esses notebooks online:

E não se esqueça de dar uma ⭐️ no GitHub!

Executar PyGWalker no Kaggle Notebook (opens in a new tab)Executar PyGWalker no Google Colab (opens in a new tab)Dar uma ⭐️ para o PyGWalker no GitHub (opens in a new tab)
Executar PyGWalker no Kaggle Notebook (opens in a new tab)Executar PyGWalker no Google Colab (opens in a new tab)Executar PyGWalker no Google Colab (opens in a new tab)

O que é um Pandas DataFrame?

Um Pandas DataFrame é uma tabela bidimensional que tem linhas e colunas rotuladas. É semelhante a uma planilha ou tabela SQL. Em um DataFrame, as linhas representam observações ou registros, enquanto as colunas representam variáveis ou recursos.

O Pandas é construído em cima do NumPy, o que significa que é incrivelmente rápido na manipulação de grandes conjuntos de dados. Ele também fornece métodos incorporados para limpeza de dados, manipulação de dados e visualização de dados.

Agora que temos uma compreensão básica de um Pandas DataFrame, vamos seguir para o método sort_index().

Ordenando Pandas DataFrame pelo Índice

O método sort_index() é usado para ordenar um Pandas DataFrame pelo seu índice. O índice de um DataFrame é como o número da linha em uma planilha. Ele identifica cada linha no DataFrame.

Vamos dar uma olhada em um exemplo.

import pandas as pd 
 
# criar um dicionário
dados = {'nome': ['João', 'Maria', 'Pedro', 'Ana', 'Carla'],
       'idade': [24, 34, 21, 19, 26],
       'cidade': ['Nova Iorque', 'Paris', 'Londres', 'Berlim', 'São Francisco']}
 
# criar um DataFrame 
df = pd.DataFrame(dados, index=['b', 'a', 'd', 'c', 'e'])
 
# ordenar o DataFrame pelo índice 
df = df.sort_index()
print(df)

Produção:

    nome  idade          cidade
a  Maria     34           Paris
b   João     24     Nova Iorque
c    Ana     19          Berlim
d  Pedro     21         Londres
e  Carla     26  São Francisco

No exemplo acima, criamos um dicionário dados com três chaves nome, idade e cidade. Em seguida, usamos este dicionário para criar um DataFrame df com o índice especificado.

Depois de criar o DataFrame, usamos o método sort_index() para ordenar o DataFrame pelo índice. Como você pode ver, o método sort_index() ordena o DataFrame pelo índice em ordem crescente.

Se quisermos ordenar o índice em ordem decrescente, podemos usar o método sort_index(ascending=False).

# ordenar o DataFrame pelo índice em ordem decrescente
df = df.sort_index(ascending=False)
print(df)

Produção:

    nome  idade          cidade
e  Carla     26  São Francisco
d  Pedro     21         Londres
c    Ana     19          Berlim
b   João     24     Nova Iorque
a  Maria     34           Paris

Como você pode ver, o método sort_index(ascending=False) ordena o DataFrame em ordem decrescente.

Ordenando uma série Pandas pelo índice

Uma série Pandas é um array rotulado unidimensional semelhante a uma coluna em uma planilha. Como um DataFrame, uma série também tem um índice.

Para ordenar uma série Pandas pelo seu índice, também podemos usar o método sort_index().

import pandas as pd 
 
# criar uma série Pandas 
s = pd.Series([1, 3, 5, 7], index=['b', 'a', 'd', 'c'])
 
# ordenar a série pelo índice 
s = s.sort_index()
print(s)

Produção:

a    3
b    1
c    7
d    5
dtype: int64

No exemplo acima, criamos uma série Pandas s com quatro valores e um índice especificado.

Depois de criar a série, usamos o método sort_index() para ordenar a série pelo índice. Como você pode ver, o método sort_index() ordena a série pelo índice em ordem crescente.

Se quisermos ordenar o índice em ordem decrescente, podemos usar o método sort_index(ascending=False).

# ordenar a série pelo índice em ordem decrescente
s = s.sort_index(ascending=False)
print(s)

Produção:

d    5
c    7
b    1
a    3
dtype: int64

Como você pode ver, o método sort_index(ascending=False) ordena a série em ordem decrescente.

'age': [24, 34, 21, 19, 26],
       'city': ['Nova Iorque', 'Paris', 'Londres', 'Berlim', 'São Francisco']}
 
# crie um DataFrame
df = pd.DataFrame(data, index=['b', 'a', 'd', 'c', 'e'])
 
# selecione uma Series do DataFrame
s = df['name']
 
# classifique a Series pelo seu índice
s = s.sort_index()
print(s)

Saída:

a     Mark
b     John
c     Anna
d     Sara
e     Paul
Name: name, dtype: object

No código acima, primeiro criamos um DataFrame df com um índice específico. A variável s seleciona a coluna name do DataFrame como uma Series. Podemos então classificar a Series pelo seu índice usando o método sort_index().

Conclusão

Neste tutorial, aprendemos como usar o método sort_index() para classificar um DataFrame ou Series do Pandas pelo seu índice. Este é um método poderoso que pode nos ajudar a limpar e manipular conjuntos de dados grandes com facilidade. Esperamos que tenha achado este tutorial útil e informativo.