DEV Community

Francisco Júnior
Francisco Júnior

Posted on • Edited on

3

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

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay