Como usar efetivamente a função Get Dummies do Pandas
Updated on
A biblioteca Pandas do Python tem muitas funções robustas e versáteis para manipulação de dados, e a função get_dummies
é uma delas. Este tutorial tem como objetivo ajudá-lo a entender e usar efetivamente essa função em suas tarefas de pré-processamento de dados.
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 análise e visualização de dados diretamente em ambientes baseados no Jupyter Notebook.
PyGWalker (opens in a new tab) transforma seu DataFrame do Pandas (ou DataFrame do Polars) 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 estes notebooks online:
E não se esqueça de dar uma ⭐️ no GitHub!
Entendendo a função Get Dummies do Pandas
A função get_dummies
do Pandas é uma ferramenta poderosa ao lidar com dados categóricos. Ela converte variável(ais) categórica(s) em variáveis dummy/indicadoras, criando novas colunas para cada categoria única em uma variável categórica, com um (1) ou zeros (0) indicando a presença ou ausência da categoria na linha original.
Por que isso importa? Os algoritmos de aprendizado de máquina tipicamente trabalham com dados numéricos. Por isso, dados categóricos frequentemente precisam ser transformados em formato numérico, e é aí que entra o get_dummies
.
import pandas as pd
# Dados de exemplo
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', 'cat']})
# Aplicando o get_dummies
dummies_data = pd.get_dummies(data)
print(dummies_data)
Isso produzirá a saída:
pets_bird pets_cat pets_dog
0 0 1 0
1 0 0 1
2 1 0 0
3 0 1 0
A anatomia da função Get Dummies
A função get_dummies
possui vários parâmetros para permitir controle granular sobre sua operação. Aqui está uma breve visão geral desses parâmetros:
data
: O DataFrame ou Series de entrada a partir do qual gerar variáveis dummy.prefix
: prefixo opcional de string para os nomes de coluna das variáveis dummy.prefix_sep
: separador de string opcional a ser usado entre o prefixo e o nome da coluna. O padrão é "_".dummy_na
: Booleano para adicionar uma coluna para indicar NaNs, se falso NaNs são ignorados. O padrão é False.columns
: lista opcional de nomes de coluna para converter em variáveis dummy. Se não especificado, ele converte todas as colunas dtype de objeto e categoria.sparse
: Booleano para retornar SparseDataFrame se True, caso contrário, retornará DataFrame regular. O padrão é Falso.drop_first
: Booleano para obter k-1 dummies de k níveis categóricos removendo o primeiro nível. Isso impede multicolinearidade. O padrão é False.
Exemplos práticos do Pandas Get Dummies
Vamos mergulhar em exemplos mais práticos do uso da função get_dummies
.
1. Usando o parâmetro prefixo
Você pode usar o parâmetro prefixo
para adicionar um prefixo específico aos novos nomes de coluna de variável dummy. Isso pode ser útil para identificar a origem dessas colunas mais tarde.
# Aplicar get_dummies com prefixo
dummies_data_prefix = pd.get_dummies(data, prefix='pets')
print(dummies_data_prefix)
2. Lidando com valores NaN
Ao lidar com dados do mundo real, você frequentemente encontrará valores ausentes. Usando o parâmetro dummy_na
, você pode criar uma coluna separada de dummy para valores NaN.
# Exemplo de dados com NaN
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', None]})
# Aplicando get_dummies com dummy_na
dummies_data_nan = pd.get_dummies(data, dummy_na=True)
print(dummies_data_nan)
3. Trabalhando com várias colunas
A função get_dummies
pode ser aplicada em várias colunas ao mesmo tempo. No exemplo abaixo, criamos variáveis dummy para duas colunas categóricas - 'pets' e 'color'.
# Exemplo de dados com várias colunas
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', 'cat'], 'color': ['black', 'white', 'black', 'white']})
# Aplicar get_dummies a múltiplas colunas
dummies_data_multi = pd.get_dummies(data, columns=['pets', 'color'])
print(dummies_data_multi)
Conclusão
Em conclusão, dominar a função pd.get_dummies()
pode aprimorar sua capacidade de pré-processamento de dados para projetos de aprendizado de máquina. É uma ferramenta indispensável para lidar com dados categóricos e garantir que estejam no formato correto para seus algoritmos.