Obtenez dummies dans Pandas
-
pandas.get_dummies()
Méthode -
Créer un DataFrame avec des colonnes de variables factices en utilisant la méthode
pandas.get_dummies()
-
Définissez les
colonnes
pour créer des variables factices pour les colonnes spécifiées uniquement - Définissez le préfixe pour changer le nom par défaut des colonnes factices
Ce tutoriel explique comment générer des DataFrame avec des variables fictives ou des variables indicatrices à partir de DataFrame avec des colonnes catégorielles.
pandas.get_dummies()
Méthode
pandas.get_dummies(
data,
prefix=None,
prefix_sep="_",
dummy_na=False,
columns=None,
sparse=False,
drop_first=False,
dtype=None,
)
Créer un DataFrame avec des colonnes de variables factices en utilisant la méthode pandas.get_dummies()
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)
Production :
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
Il génère un DataFrame avec des noms de colonnes factices formés en concaténant le nom de la colonne originale et chaque valeur unique de la colonne.
Pour la colonne Name
, nous avons cinq valeurs uniques, et donc le Name
se divise en Name_
plus chaque nom unique dans le DataFrame. Les valeurs des colonnes fictives seront 1 ou 0 en fonction de la valeur dans le DataFrame initial.
La ligne ayant la valeur de la colonne Name
Daniel
dans le DataFrame students_df
aura la valeur 1 pour la colonne Name_Daniel
dans le DataFrame students_df_dummies
tandis que toutes les autres valeurs de noms auront la valeur 0 pour la colonne Name_Daniel
dans le DataFrame students_df_dummies
.
Définissez les colonnes
pour créer des variables factices pour les colonnes spécifiées uniquement
Par défaut, la méthode get_dummies()
créera un DataFrame avec des colonnes factices pour chaque colonne avec des dtypes object
ou category
. Nous pouvons passer la liste des colonnes en argument columns
pour spécifier des colonnes particulières.
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)
Production :
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
Il crée des variables factices pour la colonne Sex
uniquement.
Définissez le préfixe pour changer le nom par défaut des colonnes factices
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)
Production :
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
Il définit le préfixe pour les colonnes factices générées à partir de la colonne Sex
à Column
. Les noms des colonnes factices deviennent alors Column_Female
et Column_Male
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticle connexe - Pandas DataFrame Column
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment obtenir la somme de la colonne Pandas
- Comment changer l'ordre des colonnes de Pandas DataFrame
- Comment convertir une colonne de DataFrame en chaîne de caractères dans Pandas