Ottenere Dummies in Pandas
-
Metodo
pandas.get_dummies()
-
Crea DataFrame con colonne di variabili fittizie utilizzando il metodo
pandas.get_dummies()
-
Imposta
columns
per creare variabili fittizie solo per le colonne specificate -
Imposta
prefisso
per modificare il nome predefinito delle colonne fittizie
Questo tutorial spiega come generare DataFrame con variabili fittizie o indicatore da DataFrame con colonne categoriali.
Metodo pandas.get_dummies()
pandas.get_dummies(
data,
prefix=None,
prefix_sep="_",
dummy_na=False,
columns=None,
sparse=False,
drop_first=False,
dtype=None,
)
Crea DataFrame con colonne di variabili fittizie utilizzando il metodo 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)
Produzione:
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
Genera un DataFrame con nomi di colonna fittizi formati concatenando il nome di colonna originale e ogni valore univoco per la colonna.
Per la colonna Name
, abbiamo cinque valori univoci, e quindi il Name
si divide in Nome_
più ogni nome univoco nel DataFrame. I valori delle colonne fittizie saranno 1 o 0 in base al valore nel DataFrame iniziale.
La riga con il valore della colonna Name
Daniel
in students_df
DataFrame avrà valore 1 per la colonna Name_Daniel
in students_df_dummies
DataFrame mentre tutti gli altri valori di nome avranno valore 0 per la colonna Name_Daniel
in il DataFrame students_df_dummies
.
Imposta columns
per creare variabili fittizie solo per le colonne specificate
Per impostazione predefinita, il metodo get_dummies()
creerà DataFrame con colonne fittizie per ogni colonna con dtypes object
o category
. Possiamo impostare il passaggio dell’lista delle colonne come argomento columns
per specificare colonne particolari.
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)
Produzione:
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
Crea variabili fittizie solo per la colonna Sex
.
Imposta prefisso
per modificare il nome predefinito delle colonne fittizie
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)
Produzione:
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
Imposta il prefisso per le colonne fittizie generate dalla colonna Sex
su Column
. Ora i nomi fittizi delle colonne diventano Column_Female
e Column_Male
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticolo correlato - Pandas DataFrame Column
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Ottieni la colonna della somma dei pandas
- Modificare l'ordine delle colonne DataFrame di Pandas
- Converti colonna DataFrame in stringa in Pandas