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
colonnespour 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
