Skip to content
Tutoriais
Pandas
How to Use Pandas Rank Effectively

Um Guia Completo: Como Usar o Pandas Rank de Forma Eficiente

O Pandas, uma biblioteca de manipulação e análise de dados em Python, fornece uma ferramenta versátil, o rank(), que é fundamental em muitos cenários de análise de dados. Este guia fornece uma compreensão detalhada de como usar o Rank do Pandas para elevar suas habilidades de manipulação de dados a novas alturas.

Quer criar rapidamente Visualizações de Dados em Python?

PyGWalker é um projeto Python de Código Aberto que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente dentro de um ambiente baseado em Jupyter Notebook.

PyGWalker (opens in a new tab) transforma seu Dataframe do Pandas (ou Dataframe de Polars) em uma interface de usuário visual, na qual 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 um ⭐️ no GitHub!

Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Dê um ⭐️ no GitHub do PyGWalker (opens in a new tab)
Execute o PyGWalker no Kaggle Notebook (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Execute o PyGWalker no GitHub (opens in a new tab)

Compreendendo o Conceito de Rank do Pandas

O Rank do Pandas calcula a posição de um ponto de dados em um conjunto de dados. Esta função é extremamente útil para classificar, filtrar ou identificar posições específicas dentro de um conjunto de dados. Fundamentalmente, existem duas maneiras de usá-lo:

  1. Ranqueando dados no DataFrame inteiro.
  2. Ranqueando dados em subgrupos específicos usando a função group by.

Para compreender melhor a utilidade da função rank(), vamos aprofundar em seus principais componentes: Ordem de Rank e Método.

Ordem de Rank

A Ordem de Rank é determinada pelo parâmetro ascending na função rank(). Se ascending=True, o rank começa dos menores valores para cima. Assim, valores menores têm rankings mais baixos e vice-versa. No entanto, se você deseja que o maior valor tenha um ranking de 1, você deve definir ascending=False.

Método

O parâmetro method na função rank() decide como lidar com pontos de dados de mesmo valor. Existem várias maneiras de fazê-lo:

  • average: Toma a posição média do grupo e a aplica a todos os itens.
  • min: Aplica a posição mais baixa do grupo a todos os itens.
  • max: Atribui a classificação mais alta do grupo a todos os itens.
  • first: Atribui classificações na ordem em que os pontos de dados aparecem no DataFrame ou Series.
  • dense: Semelhante a min, mas a classificação aumenta apenas +1 entre os grupos.

Vamos ilustrar isso com um exemplo:

import pandas as pd
 
# DataFrame de amostra
df = pd.DataFrame({'A': [1, 2, 2, 3, 4],
                   'B': [5, 6, 7, 8, 8],
                   'C': [9, 10, 10, 11, 12]})
 
# Aplicando classificação
df['A_rank'] = df['A'].rank(method='min')
df['B_rank'] = df['B'].rank(method='max')
df['C_rank'] = df['C'].rank(method='dense')
 
print(df)

Dominando os Parâmetros da Classificação

Compreender os parâmetros da função de classificação é crucial para lidar com os dados com precisão. Aqui estão alguns parâmetros essenciais:

  • axis: O padrão é 0, o que significa que a classificação é feita por linhas. Se você quiser classificar por colunas, defina axis=1.
  • numeric_only: O padrão é Verdadeiro, o que significa que ele classificará apenas as colunas numéricas. Se você definir como Falso, também classificará as strings.
  • pct: O padrão é Falso. Se definido como Verdadeiro, isso normalizará as classificações entre 0 e 1.

Alavancando a Classificação com Group By

Você também pode usar .rank() como uma função de agregação em conjunto com a função groupby(). Isso permite que você compute classificações específicas para cada subgrupo em seu DataFrame.

Aqui está um exemplo simples:

import pandas as pd
 
# DataFrame de amostra
df = pd.DataFrame({'Grupo': ['A', 'B', 'A', 'B', 'A', 'B'], 'Valor': [20, 25, 15, 18, 22, 24]})
 
# Aplicando o groupby e a classificação
df['Valor_classificação'] = df.groupby('Grupo')['Valor'].rank(ascending=False)
 
print(df)

Nesse trecho de código, primeiro agrupamos o DataFrame por 'Grupo' e, em seguida, calculamos a classificação de 'Valor' dentro de cada grupo.

Aproveite o poder da Classificação do Pandas para simplificar suas tarefas de análise de dados. Com prática prática, você pode se tornar proficiente no uso desses recursos para manipulação eficaz de dados. Lembre-se de que dominar essas ferramentas não é uma jornada noturna, mas um processo passo a passo.