Pandas `get_dummies`: Uma Abordagem Completa com Exemplos
Tags: python, programming, pandas, beginners
Published: 2023-07-31 09:10:48

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:

```python
pd.get_dummies(data, prefix=None, prefix_sep='_', columns=None, drop_first=False, dtype=None)
```

**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:

```python
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)
```

**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
```

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:

```python
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)
```

**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
```

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:

```python
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)
```

**Saída:**

```
   fruta_laranja  fruta_maçã
0              0           1
1              0           0
2              1           0
3              0           0
4              0           1
```

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