#python #categorical-data #dummy-data
#python #категориальный-данные #фиктивные данные
Вопрос:
Я пытаюсь создать категориальную переменную из трех столбцов, содержащих только 0 и 1. Они идеально сочетались бы с категориальной переменной — однако я не могу найти код, объединяющий их в одно целое: быть категориальной переменной с надписью «Движение»
CAR BIKE FEET
0 0.0 1.0 0.0
1 0.0 1.0 0.0
2 0.0 0.0 1.0
3 0.0 1.0 0.0
4 0.0 0.0 1.0
... ... ... ...
Любые мысли или другие способы создания категориальных переменных будут оценены.
РЕДАКТИРОВАТЬ: «Движение» должно быть объектом, включающим три категориальные переменные
Комментарии:
1. Как вы планируете кодировать «Движение»? Если вы объедините эти 3 в одно значение, «Движение» всегда будет иметь значение 1.
2. Я хотел бы иметь «Движение» в качестве категории с включенными тремя переменными. Извините за путаницу!
Ответ №1:
Если я правильно вас понял, вы можете использовать idxmax
with axis=1
для строк :
df = pd.DataFrame({'CAR':[0,0,0,0,0],"BIKE":[1,1,0,1,0],"FEET":[0,0,1,0,1]})
df['Movement'] = df.idxmax(axis=1)
df
CAR BIKE FEET Movement
0 0 1 0 BIKE
1 0 1 0 BIKE
2 0 0 1 FEET
3 0 1 0 BIKE
4 0 0 1 FEET
Комментарии:
1. что, если у нас есть
df = pd.DataFrame({'CAR':[0,0,0,0,0,1],"BIKE":[1,1,0,1,0,1],"FEET":[0,0,1,0,1,1]})
, тогдаdf['Movement']
не возвращается обратноCAR,BIKE,FEET
, а возвращается только перваяCAR
. Как мы можем исправить этот случай?