Создание категориальной переменной для чайников в Python

#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 . Как мы можем исправить этот случай?