Como usar pandas get dummies – pd.get_dummies


Muitas vezes, nas estatísticas, os conjuntos de dados com os quais trabalhamos incluem variáveis categóricas .

Estas são variáveis que levam nomes ou rótulos. Exemplos incluem:

  • Estado civil (“casado”, “solteiro”, “divorciado”)
  • Status de tabagismo (“fumante”, “não fumante”)
  • Cor dos olhos (“azul”, “verde”, “avelã”)
  • Nível de escolaridade (por exemplo, “ensino médio”, “bacharelado”, “mestrado”)

Ao ajustar algoritmos de aprendizado de máquina (como regressão linear , regressão logística , florestas aleatórias , etc.), frequentemente convertemos variáveis categóricas em variáveis fictícias , que são variáveis numéricas usadas para representar dados categóricos.

Por exemplo, suponha que temos um conjunto de dados contendo a variável categórica Gender . Para utilizar esta variável como preditora em um modelo de regressão, primeiro seria necessário convertê-la em uma variável dummy.

Para criar esta variável dummy, podemos escolher um dos valores (“Masculino”) para representar 0 e o outro valor (“Feminino”) para representar 1:

Como criar variáveis fictícias no Pandas

Para criar manequins para uma variável em um DataFrame do pandas, podemos usar a função pandas.get_dummies() , que usa a seguinte sintaxe básica:

pandas.get_dummies(dados, prefix=Nenhum, colunas=Nenhum, drop_first=Falso)

Ouro:

  • data : O nome do DataFrame do pandas
  • prefix : uma string a ser adicionada ao início da nova coluna de variável fictícia
  • colunas : o nome da(s) coluna(s) a ser convertida em uma variável fictícia
  • drop_first : se deve ou não eliminar a primeira coluna de variável fictícia

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: Crie uma única variável fictícia

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']})

#view DataFrame
df

        income age gender
0 45 23 M
1 48 25 F
2 54 24 M
3 57 29 F
4 65 38 F
5 69 36 F
6 78 40 M

Podemos usar a função pd.get_dummies() para transformar o gênero em uma variável fictícia:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender '], drop_first= True )

	income age gender_M
0 45 23 1
1 48 25 0
2 54 24 1
3 57 29 0
4 65 38 0
5 69 36 0
6 78 40 1

A coluna de gênero agora é uma variável fictícia onde:

  • Um valor de 0 representa “Feminino”
  • Um valor de 1 representa “Masculino”

Exemplo 2: Crie múltiplas variáveis fictícias

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'],
                   ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']})

#view DataFrame
df

	income age gender college
0 45 23 M Y
1 48 25 F N
2 54 24 M N
3 57 29 F N
4 65 38 F Y
5 69 36 F Y
6 78 40 M Y

Podemos usar a função pd.get_dummies() para converter gênero e faculdade em variáveis fictícias:

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True )


        income age gender_M college_Y
0 45 23 1 1
1 48 25 0 0
2 54 24 1 0
3 57 29 0 0
4 65 38 0 1
5 69 36 0 1
6 78 40 1 1

A coluna de gênero agora é uma variável fictícia onde:

  • Um valor de 0 representa “Feminino”
  • Um valor de 1 representa “Masculino”

E a coluna da faculdade agora é uma variável fictícia onde:

  • Um valor de 0 representa universidade “Não”
  • Um valor de 1 representa “Sim” para a faculdade

Recursos adicionais

Como usar variáveis fictícias na análise de regressão
Qual é a armadilha da variável fictícia?

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *