Obter dummies em Pandas
-
pandas.get_dummies()
Método -
Criar DataFrame com colunas Dummy Variable Columns Utilizando
pandas.get_dummies()
Método -
Definir
colunas
para Criar Variáveis Dummy apenas para colunas especificadas -
Defina
prefix
para alterar o nome padrão das colunas dummy
Este tutorial explica como podemos gerar DataFrame com variáveis dummy ou variáveis indicadoras a partir de DataFrame com colunas categóricas.
pandas.get_dummies()
Método
pandas.get_dummies(
data,
prefix=None,
prefix_sep="_",
dummy_na=False,
columns=None,
sparse=False,
drop_first=False,
dtype=None,
)
Criar DataFrame com colunas Dummy Variable Columns Utilizando pandas.get_dummies()
Método
import pandas as pd
students_df = pd.DataFrame(
{
"Id": [302, 504, 708, 103, 303],
"Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
"Sex": ["Male", "Female", "Male", "Male", "Female"],
}
)
students_df_dummies = pd.get_dummies(students_df)
print("The original DataFrame is:")
print(students_df, "\n")
print("DataFrame with Dummies:")
print(students_df_dummies)
Resultado:
The original DataFrame is:
Id Name Sex
0 302 Mike Male
1 504 Christine Female
2 708 Rob Male
3 103 Daniel Male
4 303 Jennifer Female
DataFrame with Dummies:
Id Name_Christine Name_Daniel Name_Jennifer Name_Mike Name_Rob Sex_Female Sex_Male
0 302 0 0 0 1 0 0 1
1 504 1 0 0 0 0 1 0
2 708 0 0 0 0 1 0 1
3 103 0 1 0 0 0 0 1
4 303 0 0 1 0 0 1 0
Gera uma DataFrame com nomes de colunas dummy formados pela concatenação do nome original da coluna e cada valor único para a coluna.
Para a coluna Name
, temos cinco valores únicos, e por isso o Name
divide-se em Name_
mais cada nome único no DataFrame. Os valores das colunas fictícias serão 1 ou 0, com base no valor no DataFrame inicial.
A linha com o valor da coluna Name
na coluna students_df
DataFrame terá o valor 1 para a coluna Name_Daniel
na coluna students_df_dummies
DataFrame enquanto todos os outros valores de nomes terão o valor 0 para a coluna Name_Daniel
na coluna students_df_dummies
DataFrame.
Definir colunas
para Criar Variáveis Dummy apenas para colunas especificadas
Por defeito, o método get_dummies()
criará DataFrame com colunas fictícias para cada coluna com dtypes objecto
ou categoria
. Podemos definir passar a lista das colunas como argumento colunas
para especificar colunas específicas.
import pandas as pd
students_df = pd.DataFrame(
{
"Id": [302, 504, 708, 103, 303],
"Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
"Sex": ["Male", "Female", "Male", "Male", "Female"],
}
)
students_df_dummies = pd.get_dummies(students_df, columns=["Sex"])
print("The original DataFrame is:")
print(students_df, "\n")
print("DataFrame with Dummies:")
print(students_df_dummies)
Resultado:
The original DataFrame is:
Id Name Sex
0 302 Mike Male
1 504 Christine Female
2 708 Rob Male
3 103 Daniel Male
4 303 Jennifer Female
DataFrame with Dummies:
Id Name Sex_Female Sex_Male
0 302 Mike 0 1
1 504 Christine 1 0
2 708 Rob 0 1
3 103 Daniel 0 1
4 303 Jennifer 1 0
Cria variáveis fictícias apenas para a coluna Sex
Defina prefix
para alterar o nome padrão das colunas dummy
import pandas as pd
students_df = pd.DataFrame(
{
"Id": [302, 504, 708, 103, 303],
"Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
"Sex": ["Male", "Female", "Male", "Male", "Female"],
}
)
students_df_dummies = pd.get_dummies(students_df, columns=["Sex"], prefix="Column")
print("The original DataFrame is:")
print(students_df, "\n")
print("DataFrame with Dummies:")
print(students_df_dummies)
Resultado:
The original DataFrame is:
Id Name Sex
0 302 Mike Male
1 504 Christine Female
2 708 Rob Male
3 103 Daniel Male
4 303 Jennifer Female
DataFrame with Dummies:
Id Name Column_Female Column_Male
0 302 Mike 0 1
1 504 Christine 1 0
2 708 Rob 0 1
3 103 Daniel 0 1
4 303 Jennifer 1 0
Define o prefixo para as colunas fictícias geradas da coluna Sex
para Coluna. Agora os nomes das colunas fictícias tornam-se Column_Female
e Column_Male
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtigo relacionado - Pandas DataFrame Column
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como obter a Soma da Coluna Pandas
- Como mudar a ordem das colunas Pandas DataFrame
- Como converter a coluna DataFrame em String em Pandas