Привет, у вас есть pandas dataframe df
, содержащий категориальные переменные.
df=pandas.DataFrame(data=[['male','blue'],['female','brown'],
['male','black']],columns=['gender','eyes'])
df
Out[16]:
gender eyes
0 male blue
1 female brown
2 male black
используя функцию get_dummies, я получаю следующий фрейм данных
df_dummies = pandas.get_dummies(df)
df_dummies
Out[18]:
gender_female gender_male eyes_black eyes_blue eyes_brown
0 0 1 0 1 0
1 1 0 0 0 1
2 0 1 1 0 0
Все столбцы gender_female
и gender_male
содержат одинаковую информацию, поскольку исходный столбец может принимать двоичное значение. Есть ли (умный) способ сохранить только один из 2 столбцов?
ОБНОВЛЕНО
Использование
df_dummies = pandas.get_dummies(df,drop_first=True)
дал бы мне
df_dummies
Out[21]:
gender_male eyes_blue eyes_brown
0 1 1 0
1 0 0 1
2 1 0 0
но я бы хотел удалить столбцы, для которых изначально у меня было только 2 возможности
Желаемый результат должен быть
df_dummies
Out[18]:
gender_male eyes_black eyes_blue eyes_brown
0 1 0 1 0
1 0 0 0 1
2 1 1 0 0