DEV Community

Francisco Júnior
Francisco Júnior

Posted on • Edited on

Pandas `get_dummies`: Uma Abordagem Completa com Exemplos

O Pandas é uma das bibliotecas Python mais populares e poderosas para manipulação e análise de dados. Entre suas muitas funcionalidades, o método get_dummies() é uma ferramenta útil para transformar variáveis categóricas em representações numéricas para análise de dados e modelagem estatística. Neste artigo, vamos explorar a função get_dummies() do Pandas em detalhes, entender como ela funciona e fornecer diversos exemplos práticos para melhor compreensão.

O que é get_dummies()?

get_dummies() é uma função da biblioteca Pandas que permite criar variáveis dummy a partir de variáveis categóricas. Variáveis dummy são representações numéricas de variáveis categóricas, onde cada categoria se torna uma nova coluna binária. Essas colunas binárias indicam a presença ou ausência de uma categoria específica para cada entrada nos dados originais.

Sintaxe:

A sintaxe geral da função get_dummies() é a seguinte:

pd.get_dummies(data, prefix=None, prefix_sep='_', columns=None, drop_first=False, dtype=None)
Enter fullscreen mode Exit fullscreen mode

Parâmetros:

  • data: DataFrame Pandas ou Series que contém as variáveis categóricas a serem convertidas em dummies.
  • prefix: Uma string ou lista de strings que será adicionada como prefixo aos nomes das novas colunas dummy. Se for uma lista, deve ter o mesmo tamanho da lista de colunas categóricas.
  • prefix_sep: Separador a ser utilizado entre o prefixo e o nome da categoria para as novas colunas dummy.
  • columns: Uma lista de colunas categóricas a serem transformadas em dummies. Se None, todas as colunas categóricas no DataFrame serão convertidas.
  • drop_first: Se for True, a primeira categoria de cada variável categórica será omitida para evitar multicolinearidade.
  • dtype: O tipo de dados para as novas colunas dummy. Por padrão, é np.uint8 (unsigned integer de 8 bits).

Exemplos de Uso:

Exemplo 1: Criando variáveis dummy a partir de uma única coluna categórica

Vamos começar com um exemplo simples usando uma única coluna categórica em um DataFrame Pandas:

import pandas as pd

# DataFrame de exemplo
data = pd.DataFrame({'frutas': ['maçã', 'banana', 'laranja', 'banana', 'maçã']})

# Criando variáveis dummy
dummy_data = pd.get_dummies(data, prefix='fruta', prefix_sep='_')

print(dummy_data)
Enter fullscreen mode Exit fullscreen mode

Saída:

   fruta_banana  fruta_laranja  fruta_maçã
0             0              0           1
1             1              0           0
2             0              1           0
3             1              0           0
4             0              0           1
Enter fullscreen mode Exit fullscreen mode

No exemplo acima, a coluna "frutas" foi convertida em três novas colunas dummy: "fruta_banana", "fruta_laranja" e "fruta_maçã". Cada uma delas representa uma das frutas presentes na coluna original, onde o valor 1 indica que a fruta está presente e o valor 0 indica que não está.

Exemplo 2: Tratando múltiplas colunas categóricas

Agora, vamos usar um DataFrame com múltiplas colunas categóricas:

import pandas as pd

# DataFrame de exemplo
data = pd.DataFrame({
    'frutas': ['maçã', 'banana', 'laranja', 'banana', 'maçã'],
    'cores': ['vermelho', 'amarelo', 'laranja', 'amarelo', 'vermelho']
})

# Criando variáveis dummy para as colunas 'frutas' e 'cores'
dummy_data = pd.get_dummies(data, columns=['frutas', 'cores'], prefix=['fruta', 'cor'])

print(dummy_data)
Enter fullscreen mode Exit fullscreen mode

Saída:

   fruta_banana  fruta_laranja  fruta_maçã  cor_amarelo  cor_laranja  cor_vermelho
0             0              0           1            0            0             1
1             1              0           0            1            0             0
2             0              1           0            0            1             0
3             1              0           0            1            0             0
4             0              0           1            0            0             1
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, criamos variáveis dummy para as colunas "frutas" e "cores". As novas colunas têm os prefixos "fruta_" e "cor_", respectivamente, seguidos pela categoria correspondente.

Exemplo 3: Lidando com a primeira categoria omitida

Agora, vamos usar o parâmetro drop_first=True para omitir a primeira categoria de cada variável categórica:

import pandas as pd

# DataFrame de exemplo
data = pd.DataFrame({'frutas': ['maçã', 'banana', 'laranja', 'banana', 'maçã']})

# Criando variáveis dummy com a primeira categoria omitida
dummy_data = pd.get_dummies(data, prefix='fruta', prefix_sep='_', drop_first=True)

print(dummy_data)
Enter fullscreen mode Exit fullscreen mode

Saída:

   fruta_laranja  fruta_maçã
0              0           1
1              0           0
2              1           0
3              0           0
4              0           1
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, a primeira categoria ("banana") foi omitida em cada variável categórica, resultando em duas novas colunas dummy: "fruta_laranja" e "fruta_maçã".

Conclusão:

A função get_dummies() do Pandas é uma poderosa ferramenta para transformar variáveis categóricas em representações numéricas, tornando-as adequadas para análise de dados e modelagem estatística. Com este artigo, você aprendeu como usar a função get_dummies() e explorou exemplos práticos para sua aplicação. Lembre-se de que a função possui diversos parâmetros opcionais para personalização, permitindo que você ajuste a saída de acordo com as necessidades específicas do seu projeto. Experimente get_dummies() em seus próprios conjuntos de dados e explore a versatilidade que

Top comments (0)