Dummies in Pandas holen
-
Methode
pandas.get_dummies()
-
DataFrame mit Dummy-Variablenspalten mit der Methode
pandas.get_dummies()
erzeugen -
columns
so einstellen, dass Dummy-Variablen nur für angegebene Spalten erstellt werden -
Setze
prefix
, um den Standardnamen der Dummy-Spalten zu ändern
Dieses Tutorial erklärt, wie wir aus einem DataFrame mit kategorischen Spalten einen DataFrame mit Dummy- oder Indikatorvariablen erzeugen können.
Methode pandas.get_dummies()
pandas.get_dummies(
data,
prefix=None,
prefix_sep="_",
dummy_na=False,
columns=None,
sparse=False,
drop_first=False,
dtype=None,
)
DataFrame mit Dummy-Variablenspalten mit der Methode pandas.get_dummies()
erzeugen
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)
Ausgabe:
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
Es wird ein DataFrame mit Dummy-Spaltennamen erzeugt, die durch Verkettung des ursprünglichen Spaltennamens und jedes eindeutigen Wertes für die Spalte gebildet werden.
Für die Spalte “Name” haben wir fünf eindeutige Werte, daher wird der Name
in Name_
plus jeden eindeutigen Namen im DataFrame aufgeteilt. Die Werte der Dummy-Spalten werden 1 oder 0 sein, basierend auf dem Wert im anfänglichen DataFrame.
Die Zeile mit dem Wert der Spalte Name
Daniel
im DataFrame students_df
hat den Wert 1 für die Spalte Name_Daniel
im DataFrame students_df_dummies
, während alle anderen Namenswerte den Wert 0 für die Spalte Name_Daniel
im DataFrame students_df_dummies
haben.
columns
so einstellen, dass Dummy-Variablen nur für angegebene Spalten erstellt werden
Standardmäßig erstellt die Methode get_dummies()
einen DataFrame mit Dummy-Spalten für jede Spalte mit den D-Typen object
oder category
. Wir können die Liste der Spalten als Argument columns
übergeben, um bestimmte Spalten zu spezifizieren.
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)
Ausgabe:
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
Es werden nur Dummy-Variablen für die Spalte Sex
erzeugt.
Setze prefix
, um den Standardnamen der Dummy-Spalten zu ändern
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)
Ausgabe:
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
Setzt das Präfix für die Dummy-Spalten, die aus der Spalte Sex
erzeugt werden, auf Column
. Jetzt werden die Dummy-Spaltennamen zu Column_Female
und Column_Male
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInVerwandter Artikel - Pandas DataFrame Column
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- So erhalten Sie die Summe der Pandas-Spalte
- Wie man die Reihenfolge der Pandas DataFrame-Spalten ändert
- Wie man eine DataFrame-Spalte in eine Zeichenkette in Pandas konvertiert