Pandas `get_dummies`: Uma Abordagem Completa com Exemplos

Data Science (27 Part Series)

1 Aprimorando a Seleção, Filtragem e Agrupamento de Dados no Pandas
2 Operadores Relacionais e Lógicos no Pandas: Simplificando a Filtragem de Dados
23 more parts…
3 Python Pandas: Explorando a Função “read” e suas Possibilidades
4 Desmistificando e Simplificando a Biblioteca NumPy em Python
5 Explorando Estruturas de Dados e Laços no Python: Sets, Arrays, Loops, Listas e Dicionários
6 Explorando as Funções Básicas no Python Pandas: Manipulação e Análise de Dados Simplificadas
7 Simplificando a Análise de Dados Textuais com Manipulação de Strings no Pandas
8 Desvendando a Sintaxe das Expressões Regulares em Python: Um Guia Completo
9 Utilização e Aplicação do Método melt() no Pandas
10 Utilização e Aplicação do `json_normalize()` no Pandas
11 Introdução ao método `apply()` e lambda no Pandas: Um Guia Completo
12 Tratamento de Dados Nulos no Pandas: Uma Abordagem Completa e Detalhada
13 Pandas `get_dummies`: Uma Abordagem Completa com Exemplos
14 Tratamento de Outliers no Pandas: Estratégias e Exemplos
15 Introdução ao Pandas: Unindo DataFrames
16 A Função `loc` do Pandas: Filtragem Detalhada e Exemplos Práticos
17 Detalhando os Diferentes Tipos de Leitura e suas parâmetros Função `read()` no Pandas
18 Guia Avançado do Método `merge` no Pandas com Exemplos
19 O Método `cut` do Pandas: Uma Ferramenta Poderosa para a Segmentação de Dados
20 Projeto de Data Science: Análise de Dados do Airbnb
21 Uma Jornada pelo Universo da Amostragem em Data Science com Python: Teoria e Prática
22 Uma Exploração Abrangente da Estatística Descritiva em Data Science com Python: Exemplos Práticos com Dataset Fictício
23 Explorando os Quantis e Quartis em Data Science com Python: Uma Análise Detalhada com Exemplos Práticos e Dataset Fictício
24 Desvendando as Relações com Correlação de Dados em Data Science usando Python: Exemplos Práticos com Dataset Fictício
25 Explorando a Poderosa Representação Gráfica em Data Science com Python: Exemplos Práticos com Dataset Fictício
26 Google Cloud Storage com Python: Um Guia Completo
27 Explorando as Funções Específicas da Biblioteca google-cloud-storage no Google Cloud Platform

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:

<span>pd</span><span>.</span><span>get_dummies</span><span>(</span><span>data</span><span>,</span> <span>prefix</span><span>=</span><span>None</span><span>,</span> <span>prefix_sep</span><span>=</span><span>'_'</span><span>,</span> <span>columns</span><span>=</span><span>None</span><span>,</span> <span>drop_first</span><span>=</span><span>False</span><span>,</span> <span>dtype</span><span>=</span><span>None</span><span>)</span>
<span>pd</span><span>.</span><span>get_dummies</span><span>(</span><span>data</span><span>,</span> <span>prefix</span><span>=</span><span>None</span><span>,</span> <span>prefix_sep</span><span>=</span><span>'_'</span><span>,</span> <span>columns</span><span>=</span><span>None</span><span>,</span> <span>drop_first</span><span>=</span><span>False</span><span>,</span> <span>dtype</span><span>=</span><span>None</span><span>)</span>
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:

<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>
<span># DataFrame de exemplo </span><span>data</span> <span>=</span> <span>pd</span><span>.</span><span>DataFrame</span><span>({</span><span>'frutas'</span><span>:</span> <span>[</span><span>'maçã'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'laranja'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'maçã'</span><span>]})</span>
<span># Criando variáveis dummy </span><span>dummy_data</span> <span>=</span> <span>pd</span><span>.</span><span>get_dummies</span><span>(</span><span>data</span><span>,</span> <span>prefix</span><span>=</span><span>'fruta'</span><span>,</span> <span>prefix_sep</span><span>=</span><span>'_'</span><span>)</span>
<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>

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

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

<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
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
   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
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:

<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>
<span># DataFrame de exemplo </span><span>data</span> <span>=</span> <span>pd</span><span>.</span><span>DataFrame</span><span>({</span>
<span>'frutas'</span><span>:</span> <span>[</span><span>'maçã'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'laranja'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'maçã'</span><span>],</span>
<span>'cores'</span><span>:</span> <span>[</span><span>'vermelho'</span><span>,</span> <span>'amarelo'</span><span>,</span> <span>'laranja'</span><span>,</span> <span>'amarelo'</span><span>,</span> <span>'vermelho'</span><span>]</span>
<span>})</span>
<span># Criando variáveis dummy para as colunas 'frutas' e 'cores' </span><span>dummy_data</span> <span>=</span> <span>pd</span><span>.</span><span>get_dummies</span><span>(</span><span>data</span><span>,</span> <span>columns</span><span>=</span><span>[</span><span>'frutas'</span><span>,</span> <span>'cores'</span><span>],</span> <span>prefix</span><span>=</span><span>[</span><span>'fruta'</span><span>,</span> <span>'cor'</span><span>])</span>
<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>

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

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

<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
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
   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
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:

<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>
<span># DataFrame de exemplo </span><span>data</span> <span>=</span> <span>pd</span><span>.</span><span>DataFrame</span><span>({</span><span>'frutas'</span><span>:</span> <span>[</span><span>'maçã'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'laranja'</span><span>,</span> <span>'banana'</span><span>,</span> <span>'maçã'</span><span>]})</span>
<span># Criando variáveis dummy com a primeira categoria omitida </span><span>dummy_data</span> <span>=</span> <span>pd</span><span>.</span><span>get_dummies</span><span>(</span><span>data</span><span>,</span> <span>prefix</span><span>=</span><span>'fruta'</span><span>,</span> <span>prefix_sep</span><span>=</span><span>'_'</span><span>,</span> <span>drop_first</span><span>=</span><span>True</span><span>)</span>
<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
<span>import</span> <span>pandas</span> <span>as</span> <span>pd</span>

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

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

<span>print</span><span>(</span><span>dummy_data</span><span>)</span>
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
   fruta_laranja  fruta_maçã
0              0           1
1              0           0
2              1           0
3              0           0
4              0           1
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

Data Science (27 Part Series)

1 Aprimorando a Seleção, Filtragem e Agrupamento de Dados no Pandas
2 Operadores Relacionais e Lógicos no Pandas: Simplificando a Filtragem de Dados
23 more parts…
3 Python Pandas: Explorando a Função “read” e suas Possibilidades
4 Desmistificando e Simplificando a Biblioteca NumPy em Python
5 Explorando Estruturas de Dados e Laços no Python: Sets, Arrays, Loops, Listas e Dicionários
6 Explorando as Funções Básicas no Python Pandas: Manipulação e Análise de Dados Simplificadas
7 Simplificando a Análise de Dados Textuais com Manipulação de Strings no Pandas
8 Desvendando a Sintaxe das Expressões Regulares em Python: Um Guia Completo
9 Utilização e Aplicação do Método melt() no Pandas
10 Utilização e Aplicação do `json_normalize()` no Pandas
11 Introdução ao método `apply()` e lambda no Pandas: Um Guia Completo
12 Tratamento de Dados Nulos no Pandas: Uma Abordagem Completa e Detalhada
13 Pandas `get_dummies`: Uma Abordagem Completa com Exemplos
14 Tratamento de Outliers no Pandas: Estratégias e Exemplos
15 Introdução ao Pandas: Unindo DataFrames
16 A Função `loc` do Pandas: Filtragem Detalhada e Exemplos Práticos
17 Detalhando os Diferentes Tipos de Leitura e suas parâmetros Função `read()` no Pandas
18 Guia Avançado do Método `merge` no Pandas com Exemplos
19 O Método `cut` do Pandas: Uma Ferramenta Poderosa para a Segmentação de Dados
20 Projeto de Data Science: Análise de Dados do Airbnb
21 Uma Jornada pelo Universo da Amostragem em Data Science com Python: Teoria e Prática
22 Uma Exploração Abrangente da Estatística Descritiva em Data Science com Python: Exemplos Práticos com Dataset Fictício
23 Explorando os Quantis e Quartis em Data Science com Python: Uma Análise Detalhada com Exemplos Práticos e Dataset Fictício
24 Desvendando as Relações com Correlação de Dados em Data Science usando Python: Exemplos Práticos com Dataset Fictício
25 Explorando a Poderosa Representação Gráfica em Data Science com Python: Exemplos Práticos com Dataset Fictício
26 Google Cloud Storage com Python: Um Guia Completo
27 Explorando as Funções Específicas da Biblioteca google-cloud-storage no Google Cloud Platform

原文链接:Pandas `get_dummies`: Uma Abordagem Completa com Exemplos

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
I only smile very joy, sorrow will not be see.
我只有笑的很欢,忧伤才不会被看穿
评论 抢沙发

请登录后发表评论

    暂无评论内容